正式会员享受无限制浏览网站功能和高速网盘下载,赶快加入本站吧!
您需要 登录 才可以下载或查看,没有账号?立即注册
x
使用Inno Setup实现不选择安装路径,而从注册表中读取游戏平台安装时写在注册表中的路径,达到把游戏安装在平台所在目录的目的。没想到遇到个小问题,折腾了半天。 默认不选择路径只需设置‘DisableDirPage =yes’, 而读取注册表中预写的路径需设置‘DefaultDirName={reg:HKCU\Software\LZQPGame\Plaza,Path}’, 但是只设置 DefaultDirName的话,在程序卸载后再次安装时就会出问题,安装包会把程序安装到上次装平台大厅的地方,而不是新的安装路径。 这是为什么呢,原来还有个‘UsePreviousAppDir’属性 ,这个属性的说明如下: 有效值:yes或no 默认值:yes 当这个指令设为 yes (默认),在启动安装程序将访问注册表查看是否安装了相同应用程序当这个指令设为 yes (默认),在启动安装程序将访问注册表查看是否安装了相同应用程序。如果是,它将使用先前安装的目录在向导页中作为默认目录提供给用户。
而这个蛋疼的默认值就是出现安装路径的元凶,为了防止,在重新安装时候出现路径错乱的问题,我们把这个属性设置成 ‘UsePreviousAppDir =no’,这样在大厅再次安装的时候,新下载的小游戏就会安装到正确的新路径了。
下面是关于设置的一小段代码:
- [Setup]
- AppName=捕鱼
- AppVerName=捕鱼1.0
- ;不能选择安装路径
- ;安装路径从注册表读取
- DisableDirPage =yes
- UsePreviousAppDir =no
- DefaultDirName={reg:HKCU\Software\LZQPGame\Plaza,Path}
- OutputBaseFilename=Fish
- Compression=zip
- WizardImageFile=embedded\WizardImage.bmp
- WizardSmallImageFile=embedded\WizardSmallImage.bmp
复制代码
|