WIN7& Inno-Setup:如何使程序“为所有用户自动启动”在每个用户的名下运行

时间:2011-04-03 15:51:49

标签: windows-7 inno-setup

这个问题来自我的另一个问题。请参阅更多背景here

从另一篇文章来看,我的应用程序必须以当前帐户持有人的名义运行。我正在使用Inno-setup来安装这个应用程序。可以选择安装“仅为当前用户自动启动”或“为所有用户自动启动”。但是,这两个选项对我来说似乎不起作用,因为程序总是在“admin”用户下启动,这使我的应用程序无法运行。

如果我从标准用户帐户安装应用程序,我必须以不同的用户(admin)运行安装。在这种情况下,我不能使用“仅为当前用户自动启动”选项,因为安装程序的“当前用户”是管理员,而不是标准用户,因为我发现了。

经过多次争论,我发现,我不得不放弃创新设置的“自动启动”功能。首先以标准帐户作为其他用户(管理员)安装它。然后,我不得不手动向HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Run添加一个条目,以便在Windows启动时自动启动。这有效,但我无法相信没有更好的方法来做到这一点。

以下是相关的创新脚本:

[Tasks]
Name: startup; Description: "Launch automatically when Windows starts up"; GroupDescription: "Additional icons:"
Name: startup\user; Description: "For the current user only"; GroupDescription: "Additional icons:"; Flags: exclusive unchecked
Name: startup\common; Description: "For all users"; GroupDescription: "Additional icons:"; Flags: exclusive

我正在使用最新的Inno-Setup(v5.4.2)。我在这里错过了什么吗?

2 个答案:

答案 0 :(得分:2)

我意外地将以下行添加到我的inno安装脚本中,结果是我的程序在每次启动时自动启动。

[Icons]
Name: "{commonstartup}\LoopJam"; Filename: "{app}\resources\LoopJam.exe"; IconFilename: "{app}\LoopJam.ico";

答案 1 :(得分:0)

Inno没有“自动启动”功能,您忽略了向我们显示实际创建“运行”值的行。 话虽如此,只需添加到HKLM资源管理器运行密钥将导致它在登录时为每个用户运行。