InnoSetup安装程序动态指定安装目录

转自:InnoSetup安装程序动态指定安装目录_linz1980_新浪博客

InnoSetup 作为一个优秀的安装程序建造工具,拥有非常强大的功能!

由于支持 pascal 脚本,功能方面更加自由.我相信并且也看到了,有非常多的 Delphi 程序员喜欢这个工具.因为 InnoSetup 本身就是 Delphi 的作品.

由于我们小组的开发需要,今天我接触了这个工具.后来在"为安装程序动态指定安装目录"这个环节遇到了困难,但上 baidu 和 google 都找不到结果.现在我已经解决了这个问题,我很希望将该初步知识写在这里,希望能给大家提供帮助.

通常遇到这个问题的朋友们都是在为程序打补丁的时候.因此非常建议你,在你所开发的程序里都添加一个注册表信息,记录一下程序的安装目录.如果后来需要打补丁,就可以轻易的找到这个目录了.

以下就是一个通过注册表找到需补丁的目录的例子(仅仅是 [code] 部分):

[code]

procedure InitializeWizard;

var

s: string;

begin

if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Microsoft Games\Age of Empires II: The Conquerors Expansion\1.0', 'Exe Path', s) then

WizardForm.DirEdit.text := s;

end;

[code] 关键字是 innoSetup 的一个约定,也就是安装程序可自定义的代码.

InitializeWizard 方法在安装程序准备好向导之后被执行,因此可以在这里做一些初始化工作.

RegQueryStringValue 是内核支持的方法,很容易理解,就是通过注册表读取一个文本型的值.上面的例子演示了如何获取游戏"帝国时代2"的程序目录.

假如 RegQueryStringValue 返回 true 那么我们执行代码 WizardForm.DirEdit.text := s;

不必因为看到 WizardForm 的出现而感到不知所谓,WizardForm 是安装程序主窗口的指针(实例),每一个 InnoSetup 建造的安装程序都带上了这个实例,而指定安装目录的编辑框正是 WizardForm 里头的 DirEdit.(TWizardForm 在帮助文档里头有声明,然而还有更多的 TXForm)

到这来整个小结构已经很明了. InnoSetup 就是如此眷顾 Delphi 程序员的.:)

这里介绍的小知识,仅仅是 InnoSetup 的小菜一碟,它强大的功能等待你的发掘!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Inno Setup 安装程序指定安装在 D 盘,可以按照以下步骤进行设置: 1. 打开 Inno Setup 工程文件,一般是一个.iss后缀的文件。 2. 在[Files]部分添加安装文件的条目。例如,如果要安装一个名为 "example.exe" 的文件,可以添加如下代码: ```pascal Source: "path_to_example.exe"; DestDir: "{drive:d}\{app}"; Flags: ignoreversion ``` 上述代码中,Source 后面的 "path_to_example.exe" 是文件的路径,可以是绝对路径或相对路径。DestDir 后面的 "{drive:d}\{app}" 表示将文件安装到 D 盘的根目录下,{drive:d} 是动态常量,表示指定的驱动器字母(这里是D盘),{app} 是指安装目录。 可以根据实际需要修改 DestDir 的路径,例如,如果要将文件安装到 D 盘的一个名为 "MyApp" 的子文件夹下,可以将上述代码修改为: ```pascal Source: "path_to_example.exe"; DestDir: "{drive:d}\MyApp"; Flags: ignoreversion ``` 3. 在 [Code] 部分的 `InitializeSetup` 函数中添加以下代码,以确保安装程序默认选择 D 盘进行安装: ```pascal procedure InitializeSetup(); begin // Set the default installation drive to D WizardForm.DirEdit.Text := 'd:\'; end; ``` 通过设置 `WizardForm.DirEdit.Text` 的值为 'd:\',安装程序将默认选择 D 盘作为安装目录。 4. 重新编译和运行 Inno Setup 工程文件,安装程序将在用户选择安装目录时默认显示 D 盘。 参考资料: - Inno Setup Documentation: [Constants](https://jrsoftware.org/ishelp/index.php?topic=consts) - Inno Setup Documentation: [Adding Files](https://jrsoftware.org/ishelp/index.php?topic=scriptfilessection) - Inno Setup Documentation: [InitializeSetup](https://jrsoftware.org/ishelp/index.php?topic=scriptfunctions#InitializeSetup)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值