簡體   English   中英

nsis卸載程序未刪除電子應用程序的注冊表-nsh腳本

[英]nsis uninstaller not deleting registry for electron app - nsh script

我將電子應用程序設置為在Windows上自動啟動:

app.setLoginItemSettings({
    openAtLogin: true,
    path: process.execPaths
})

這會將注冊表項添加到以下位置的注冊表中: Computer\\HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\electron.app my app

我正在使用電子構建器來打包我的應用程序。

這里提到我可以在卸載nsis時添加腳本installer.nsh

這是我的自定義installer.nsh

!macro customUnInstall
    SetRegView 64
     DeleteRegKey /ifempty SHCTX "Software\Microsoft\Windows\CurrentVersion\Run\electron.app.my app"
    SetRegView 32
     DeleteRegKey /ifempty SHCTX "Software\Microsoft\Windows\CurrentVersion\Run\electron.app.my app"
 !macroend

最后,我在package.json中提到了它:

"nsis": {
      "runAfterFinish": true,
      "createDesktopShortcut": true,
      "deleteAppDataOnUninstall": true,
      "include": "build/installer.nsh"
    }

但是,仍然在我卸載我的應用程序時,該條目仍保留在注冊表中。

如何刪除此項?

DeleteRegKey刪除鍵,但是我猜您的運行條目實際上是一個值 使用DeleteRegValue刪除值:

DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "electron.app my app"

為什么要使用SHCTX? 如果您知道它總是寫入HKEY_CURRENT_USER,請使用HKCU。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM