解決問題:
程序安裝后,通過桌面快捷方式運行程序時不需要再右鍵選擇管理員身份運行。
注意:程序安裝時需要使用管理員權限進行安裝,才能往注冊寫入信息
;針對當前用戶有效WriteRegStr HKCU "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$INSTDIR\${MAIN_PROGRAM_NAME}M.exe" "RUNASADMIN"
;針對所有用戶有效WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$INSTDIR\${MAIN_PROGRAM_NAME}M.exe" "RUNASADMIN"
解釋:${MAIN_PROGRAM_NAME}M.exe 是要執行的主程序的名稱
啟動項:
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "TestAddKey" "$INSTDIR\Test.exe"
#該命令放在安裝區域(Section "MainSection" SEC01), 或者注冊區域(Section -Post)都可以
root_key: 注冊表根鍵值: HKCU (HKEY_CURRENT_USER)
subkey: 子鍵值: Run鍵(解釋見前言)
key_name: 新增鍵值名稱: TestAddKey
value: 啟動命令: “Test.exe絕對路徑”, 如有命令行參數可以在路徑后添加
刪除啟動項:
DeleteRegValue HKCU "Software\Microsoft\Windows\CurrentVersion\Run" "TestAddKey"
#該命令放在卸載命令區域(Section Uninstall)
獲取安裝包的名稱:
section main
${GetExeName} $R0
${GetFileName} "$R0" $R1
MessageBox MB_OK "My installer's exe is $R1"
sectionend
${GetFileName} $EXEFILE $R2
;MessageBox MB_OK $EXEFILE
${GetBaseName} $R2 $R1
;MessageBox MB_OK $R1
StrCpy $Channel $R1