我尝试使用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版本。 –