Inno Setup实现软件开机自动运行的两种方法

这篇具有很好参考价值的文章主要介绍了Inno Setup实现软件开机自动运行的两种方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Inno Setup实现软件开机自动启动的两种方法

在许多情况下,我们希望我们的软件能够在操作系统启动时自动启动。对于 Windows 操作系统,可以通过将程序添加到启动组或在注册表的 Run 项中创建值来实现此目的。
有两种不同的方法可以做到这一点:

方法一:在启动组中创建快捷方式
首先,在 [Icons] 区段中创建一个条目,并将其安装到 {autostartup} 目录中,这将在启动组中创建一个快捷方式。在这个条目中,将 Name 设置为你希望在启动组中显示的名称,将 Filename 设置为要运行的程序的完整路径,例如:
[Icons]
Name: "{autostartup}\My Program"; Filename: "{app}\MyProg.exe"
当用户登录到 Windows 操作系统时,启动组中的所有快捷方式都会被自动运行。因此,在添加到启动组的快捷方式中指定的程序将在系统启动时自动运行。
这种方法的优点:
实现简单,只需要在 Inno Setup 脚本中添加一个快捷方式即可。
支持 Windows 操作系统的所有版本。
缺点:
如果用户手动从启动组中删除了快捷方式,则程序将不再自动启动。
由于启动组中包含的快捷方式很多,这可能会导致启动时间变慢。

方法二:在注册表的 Run 项中创建值
在 [Registry] 区段中创建一个条目,并将其安装到 HKEY_LOCAL_MACHINE 或 HKEY_CURRENT_USER 中的 Run 项中。在这个条目中,将 Subkey 设置为 "SOFTWARE\Microsoft\Windows\CurrentVersion\Run",将 ValueType 设置为 string,将 ValueName 设置为要创建的键的名称,将 ValueData 设置为要运行的程序的完整路径,例如:
[Registry]
Root: HKA; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "MyProg"; ValueData: """{app}\MyProg.exe"""; Flags: uninsdeletevalue
当用户登录到 Windows 操作系统时,系统将自动在注册表的 Run 项中查找所有键,并在找到的每个键中查找 ValueName,如果找到则会自动运行 ValueData 中指定的程序。因此,添加到注册表的 Run 项中的键将在系统启动时自动运行。
这种方式的优点:
在注册表中创建键的过程更加安全和稳定。相比在启动组中创建运行快捷方式而言,这种方式不用担心用户不小心删除了启动快捷方式。
缺点:写入注册表的操作,必须使用管理员身份运行安装程序。

手动设置
如果需要让用户在安装程序的过程中手动设置程序是否要开机自动启动,可以通过在 Inno Setup 脚本中添加一个自定义任务来实现询问用户是否设置开机自动启动,如果用户选中了该任务,则创建快捷方式。
首先,在 [Tasks] 节点下添加一个自定义任务,用于询问用户是否要设置开机自动启动:
[Tasks]
Name: "startupicon"; Description: "When the system starts up automatically run this program"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
接下来,在 [Icons] 节点中添加一个条件语句,只有当用户选择了该任务时才创建快捷方式:
[Icons]
Name: "{autostartup}\My Program"; Filename: "{app}\MyProg.exe";  ;  Tasks: startupicon文章来源地址https://www.toymoban.com/news/detail-462539.html

到了这里,关于Inno Setup实现软件开机自动运行的两种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Inno Setup简介

    简易打包: 选择使用向导创建一个新的脚本 填好图中的安装包名称、安装版本、安装包发布者、安装包的相关网站,安装包名称和版本是必填的,剩下那两个可以选填。 第一个是应用程序目标基本文件夹可以选择,第二个是应用程序文件夹名称,就是安装时新建的安装目录

    2024年02月09日
    浏览(46)
  • CentOS开机自动运行jar程序实现

    前面已经有一篇文章介绍jar包如何在CentOS上运行,《在linux上运行jar程序操作记录》 后来发现系统重启后不能自动运行,导致每次都要手动打开,这篇介绍如何自动开机启动运行jar程序。 可以看到,最终找到的位置是: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/j

    2024年02月08日
    浏览(61)
  • Inno SetUp安装包:如何在程序安装时卸载驱动程序

    如果您想通过命令行卸载.INF文件的驱动程序,您需要使用PnPUtil命令。以下是一个示例: pnputil /delete-driver oem0.inf /uninstall 在这个示例中, oem0.inf 应该被替换为您要卸载的驱动程序的.inf文件。使用 pnputil /enum-drivers 命令可以列出已安装驱动程序的列表。 请注意,你需要以管理

    2024年02月16日
    浏览(43)
  • vscode运行Python的两种方法,及无法运行的原因

    下面介绍的vscode运行Python代码的方法基于的一个前提条件是:当前的计算机已经安装好了Python,且已经配置好了相关的环境变量。如果要查看是否已经都安装好了,可以打开Windows系统的命令行工具Windows PowerShell,如果是Mac系统或Linux系统,则可以打开终端,然后键入命令:

    2024年01月21日
    浏览(43)
  • 如何使用Inno Setup制作Unity构建程序的Windows安装程序

    必须包括: Data文件夹(xxx_Data) Mono文件夹(MonoBleedingEdge) 打包的应用程序文件(xxx.exe) Unity播放器dll文件(UnityPlayer.dll) 可选包括: Unity程序崩溃处理(UnityCrashHandler64.exe) 下载地址:https://jrsoftware.org/isdl.php 找到Stable Release,点击Download Sites的“US”下载 运行安装程序

    2024年03月17日
    浏览(55)
  • Spark On Yarn的两种运行模式

    Spark On YARN是有两种运行模式:Cluster模式、Client模式 Cluster模式:Driver运行在YARN容器内部,和ApplicationMaster在同一个容器内。 Client模式即:Driver运行在客户端进程中,比如Driver运行在spark-submit程序的进程中。 Client模式详细流程 YARN Client模式下,Driver在任务提交的本地机器上运

    2024年02月02日
    浏览(50)
  • vscode怎么运行程序代码的两种方法

    VSCode要运行程序的代码,大致要分为两种情况而定,一种是前端的代码,另一种是后端的代码。 后端代码 在VSCode中,后端代码的运行,可以从VSCode打开终端,然后使用命令行工具,使用命令来运行后端代码程序,比如Python的就可以使用命令:python file.py;Golang就可以使用:

    2024年04月17日
    浏览(41)
  • Inno Setup打包winform、wpf程序可判断VC++和.net环境

    官网链接: link 1、新建打包文件 2、填写 应用名称、版本号、公司名称、公司官网 3、选择安装路径 Custom是指定默认路径、Program Files folder是默认C盘根目录 4、选择程序启动exe文件 以及Addfolder选择全部运行文件 5、选择安装前显示文字 、安装中、安装后 这里我只选择了安装前

    2024年02月16日
    浏览(52)
  • Docker:容器的两种运行模式(Foreground、Detached)

    Docker容器进程有两种运行模式,通俗理解如下:        后台模式就是在后台运行,不会让当前进程卡主,你可以做其他事情。        前台模式是在前台运行,会导致当前卡住,并输出日志至当前控制台。 docker run ... 或 docker run -d=false ... 注意,只有在前台模式下,才有

    2024年01月21日
    浏览(36)
  • 将Python打包为exe+inno setup将exe程序封装成向导安装程序

    为什么要打包? Python脚本不能在没有安装Python的机器上运行。如果写了一个脚本,想分享给其他人使用,可她电脑又没有装Python。如果将脚本打包成exe文件,即使她的电脑上没有安装Python解释器,这个exe程序也能在上面运行。 1、在pycharm中安装pyinstaller 2、进入你所在的文件

    2024年01月25日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包