Inno setup Inno安装程序-当用户登录到Windows时,如何使程序运行?

Inno setup Inno安装程序-当用户登录到Windows时,如何使程序运行?,inno-setup,Inno Setup,我想使用Inno Setup()为应用程序构建安装程序 我希望每当用户登录到Windows计算机上的帐户时,此应用程序都会启动 当用户登录时,如何让Inno Setup启动程序?在所有用户配置文件的启动文件夹中放置快捷方式。请参阅知识库文章“”,其中包括以下示例: [Setup] PrivilegesRequired=admin [Icons] Name: "{commonstartup}\My Program"; Filename: "{app}\MyProg.exe" 如果希望程序仅在

我想使用Inno Setup()为应用程序构建安装程序

我希望每当用户登录到Windows计算机上的帐户时,此应用程序都会启动


当用户登录时,如何让Inno Setup启动程序?

在所有用户配置文件的启动文件夹中放置快捷方式。请参阅知识库文章“”,其中包括以下示例:

[Setup]
PrivilegesRequired=admin

[Icons] 
Name: "{commonstartup}\My Program"; Filename: "{app}\MyProg.exe"
如果希望程序仅在安装程序的用户登录时运行,请使用而不是。在这种情况下,不需要管理员权限


或者如果您决定写入注册表()的“Run”键:


如果您使用“HKLM”,同样需要管理员权限。

也许这对某些人会有帮助

我在windows 8下尝试构建自动放置自动运行注册表项的安装程序时遇到一些问题,例如:

Root: "HKCU"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "NHMMNAS"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletevalue
用于在每次Windows启动时运行32位.NET应用程序。 对于32位应用程序,需要进行一些修改,将
根目录:“HKCU”
替换为
根目录:“HKCU32”
,因此安装脚本中的条目为:

Root: "HKCU32"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "NHMMNAS"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletevalue

添加行并重新安装后,我的应用程序在系统启动时启动,没有任何问题。

用户也希望这样吗?在用户的“开始”开始菜单文件夹中放置应用程序的快捷方式?向用户的“运行”注册表项添加一个键?是的,这是用户想要的。好的,我该如何使用Inno设置?谢谢!这就是我需要的!如果我希望安装为windows服务,该怎么办?我试过你在回答中提到的方法。但该程序显示并退出,尽管它有一个永久运行的while循环。@rahulserver-您可以创建一个“net start svcname”的快捷方式。因此,您运行的是64位安装模式,其中
HKCU
根键映射到64位注册表视图。同样值得一提的是,您可以使用任务调度器来完成此任务。感谢您的评论-我没有想到:),但是对于任务调度器,我认为我没有足够的知识。任务调度器工具对于许多人来说都很好,例如,对于系统启动,再次感谢您的时间和分享您的知识。好的方面是该工具可以从命令行访问,并且似乎提供了一些机会。
Root: "HKCU32"; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "NHMMNAS"; ValueData: "{app}\{#MyAppExeName}"; Flags: uninsdeletevalue