做网狐子游戏或者做补丁,有时会遇到一个老问题:安装时需要自动找到主程序的路径,但又不想让用户自己选,结果一装直接报错,提示必须输入完整路径。 有的安装页干脆还给用户显示个路径选择框,点“下一步”才能往下走。 这啥原因? Inno Setup 默认是要显示路径页的,除非你明确告诉它别弹。 如果不弹,就得让安装包自己去注册表里读主程序之前写好的安装路径。 具体咋写 在 [Setup] 里加这两句: [Setup] DisableDirPage=yes DefaultDirName={reg:HKCU\Software\WHQPGame\GamePlaza,InstallPath} 解释一下: DisableDirPage=yes :不显示路径选择页,直接跳过。 DefaultDirName :用 reg: 从注册表里读之前写好的安装路径。 关键点别漏 HKCU\Software\WHQPGame\GamePlaza 是注册表的路径,换成你自己的主程序路径。InstallPath 是值名,就是写进去的路径。 逗号两边别有多余空格,别乱加换行。 只要主程序装的时候路径写到注册表里了,补丁或子模块就能跟着找到了,不会再提示要输完整路径。
做网狐子游戏或者做补丁,有时会遇到一个老问题:安装时需要自动找到主程序的路径,但又不想让用户自己选,结果一装直接报错,提示必须输入完整路径。 有的安装页干脆还给用户显示个路径选择框,点“下一步”才能往下走。 这啥原因? Inno Setup 默认是要显示路径页的,除非你明确告诉它别弹。 如果不弹,就得让安装包自己去注册表里读主程序之前写好的安装路径。 具体咋写 在 [Setup] 里加这两句: [Setup] DisableDirPage=yes DefaultDirName={reg:HKCU\Software\WHQPGame\GamePlaza,InstallPath} 解释一下: DisableDirPage=yes :不显示路径选择页,直接跳过。 DefaultDirName :用 reg: 从注册表里读之前写好的安装路径。 关键点别漏 HKCU\Software\WHQPGame\GamePlaza 是注册表的路径,换成你自己的主程序路径。InstallPath 是值名,就是写进去的路径。 逗号两边别有多余空格,别乱加换行。 只要主程序装的时候路径写到注册表里了,补丁或子模块就能跟着找到了,不会再提示要输完整路径。