summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-client/build/installer.nsh
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-client/build/installer.nsh')
-rw-r--r--packages/meshbay-client/build/installer.nsh24
1 files changed, 24 insertions, 0 deletions
diff --git a/packages/meshbay-client/build/installer.nsh b/packages/meshbay-client/build/installer.nsh
new file mode 100644
index 0000000..cf8e5ff
--- /dev/null
+++ b/packages/meshbay-client/build/installer.nsh
@@ -0,0 +1,24 @@
+; electron-builder NSIS customisation (auto-included: build/installer.nsh).
+;
+; Per-user install, no elevation (package.json build.nsis). These macros only
+; deal with the one piece of state that lives outside the install directory:
+; the W3 "run at sign-in" launcher the node's own CLI can create.
+;
+; Deliberately NOT touched here:
+; - %LOCALAPPDATA%\meshbay\ (node.toml, keystore.enc, unlock.key, data/) --
+; the keystore must survive an uninstall/reinstall; installers place files,
+; never remove secrets.
+
+!macro customInstall
+ ; resources\node-runtime\meshbay-node.exe is overwritten by this install; a
+ ; daemon still running from a previous version holds the file open.
+ nsExec::Exec 'taskkill /IM meshbay-node.exe /F'
+!macroend
+
+!macro customUnInstall
+ nsExec::Exec 'taskkill /IM meshbay-node.exe /F'
+ ; meshbay_node.platform._startup_vbs() -- if the user ran "meshbay-node
+ ; autostart install" (or toggled it in the client), this points wscript at
+ ; the binary we are about to delete, and would error at every sign-in.
+ Delete "$APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\MeshBay Node.vbs"
+!macroend