NSIS安裝成功是否選擇開機自動啓動

版權聲明:本文爲博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/u012896330/article/details/72875285

對於製作好的安裝包,有些時候可能需要在安裝完成界面上添加一個可勾選的開機自啓動的選項。 下面是具體的細節: 1.在安裝完成界面設置添加如下代碼:

!define MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_SHOWREADME_Function AutoBoot
!define MUI_FINISHPAGE_SHOWREADME_TEXT "開機自動啓動"

上面的代碼務必要添加在 " !insertmacro MUIPAGEFINISH "之前。

2.在Section後區段的後面添加Function部分(在Section之後,是爲了避免產生未知的錯誤) 代碼如下:

Function AutoBoot
    WriteRegStr HKCU"Software\Microsoft\Windows\CurrentVersion\Run" "test""test.exe"
FunctionEnd

把上面的test替換成你要打包程序名就行了,主要是把信息寫入系統註冊表。

3.前兩步已經可以實現開機自啓動了。這最後一步,需要在卸載和初始化區段裏面把註冊表信息刪除。原因是讓用戶在卸載程序和覆蓋安裝程序後,不會受到剛開始安裝程序的寫入系統註冊表的影響。 在Function .onInit裏面添加如下代碼:

;刪除開機自啓

DeleteRegKey HKCU"Software\Microsoft\Windows\CurrentVersion\Run"

在Section Uninstall裏面添加如下代碼:

;刪除開機自啓

DeleteRegKey HKCU"Software\Microsoft\Windows\CurrentVersion\Run"



補充說明:

      開機啓動項註冊表一般可以在運行cmd中輸入msconfig 就可以看到本機的開機自啓項


     

最後編譯運行,就會發現在程序的安裝完成界面出現了可勾選的開機自啓動選項。效果如下圖:



續:

列出註冊表"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"中的所有鍵值到界面上或文本中;並把自己做的這個程序設置爲開機  由於是lua腳本,現在還沒確定怎麼操作。後續吧。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章