2017-11-09 53 views
0

私はWindows上で自動起動に私の電子のアプリを設定しました:NSISのアンインストーラ - NSHスクリプト

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

これは私が「場所Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\electron.app my app

でレジストリにエントリを追加私のアプリをパッケージ化するのにelectron-builderを使ってください。

thereと言えば、nsisアンインストール時にスクリプトinstaller.nshを追加できます。ここで

は私のカスタムinstaller.nshです:

"nsis": { 
     "runAfterFinish": true, 
     "createDesktopShortcut": true, 
     "deleteAppDataOnUninstall": true, 
     "include": "build/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でそれを言及しましたレジストリに保存します。

このエントリを削除するには?

答えて

1

DeleteRegKeyはキーを削除しますが、実行エントリが実際にはa valueであると推測しています。 DeleteRegValueを使用して値を削除してください:

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

なぜSHCTXを使用していますか?常にHKEY_CURRENT_USERに書き込まれていることがわかっている場合は、HKCUを使用してください。

+0

SHCTXはHKLM(すべてのユーザー用にインストールする場合)またはHKCU(現在のユーザー用にインストールする場合)http://nsis.sourceforge.net/Add_uninstall_information_to_Add/Remove_Programsのいずれかになります。私は間違っていない – JerryGoyal

+0

と非常に迅速な応答に感謝、それは働いた。それはここの真夜中で、寝る前にそれを修正したかったのです。 – JerryGoyal

+0

のサイドノートには、 "electron.app my app"をハードコーディングする代わりに使用できる変数を知っていますか? – JerryGoyal

関連する問題