我嘗試使用Inno安裝程序創建安裝程序,當我遇到此問題時,一切正在安裝,但註冊表項沒有安裝在當前用戶中。我發現這是很有幫助的話題(非常感謝!):
Inno Setup Creating registry key for logged in user (not admin user)Inno設置爲登錄用戶使用{localappdata}
這解決了部分添加註冊表項,像這樣:
[Run]
Filename: reg.exe; \
Parameters: "ADD ""HKCU\Software\myprinter"" /v OutputFile /t REG_SZ /d ""{localappdata}\temp\\"""; \
Flags: runasoriginaluser runhidden
我的問題:
{localappdata}
指管理員用戶(管理員)不是本地用戶(測試):
它補充說: HKCU \ SOFTWARE \ myprin之三OUTPUTFILE REG_SZ C:\用戶\ ADMIN \應用程序數據\本地\ TEMP \
是必需的: HKCU \ SOFTWARE \ myprinter OUTPUTFILE REG_SZ C:\用戶\測試\應用程序數據\本地\ TEMP \
該軟件不起作用,因爲它不允許使用管理員臨時(當然)
雖然根據在線幫助,它應該爲開始設置的用戶工作,它似乎沒有,對我來說。 (具有或不具有postinstall
標誌)
runasoriginaluser
僅在[運行]部分有效。如果指定了此標誌,並且系統運行的是Windows Vista或更高版本,則生成的進程將使用 最初開始安裝的用戶(通常未提升的)憑證執行 (即,「UAC之前對話」憑證)。
這是使用postinstall標誌時的默認行爲。
如果用戶通過右鍵單擊它的EXE文件並選擇「以管理員身份運行」 啓動安裝程序,那麼這個標誌,不幸的是,不會有任何 效果,因爲安裝程序沒有機會運行帶有 原有的任何代碼用戶憑證。如果安裝程序從 已啓動的進程啓動,則情況也是如此。但請注意,這不是Inno 安裝程序特定的限制;在這種情況下,基於Windows Installer的安裝程序不能返回到原始用戶憑證。
該標誌不能與runascurrentuser標誌組合。
注意:在運行Inno Setup的:5.5.9(一)和Windows 10
不要使用創新安裝的ANSI版本,使用Unicode版本。 –