首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装exe时使用INI文件确定目标路径

问安装exe时使用INI文件确定目标路径
EN

Stack Overflow用户
提问于 2021-03-24 13:19:07
回答 1查看 137关注 0票数 1

我需要在两个不同的目标文件夹中安装一个安装程序(通过inno setup创建)。

我的目标是在安装时使用ini文件来确定目标目录。

Setup.ini文件

代码语言:javascript
复制
[Settings]
#======================================================================
DestDir=C:\\Software\\Path1
#======================================================================

Inno设置文件

代码语言:javascript
复制
#define DestinationDir ReadIni("Setup.ini", "Settings", "DestDir", "")

[Files]
Source: "D:\Publish\MyService.exe";                 DestDir: "{#DestDir}";    Flags: ignoreversion

[Run]
Filename: "{#DestDir}\MyService.exe";        Parameters: "-i -name MyService-display ""My Service""";       StatusMsg: "Installing my service";

我将安装程序文件(setup.exe)和.ini文件(设置为path1)一起复制到服务器,然后运行安装程序。我希望将myService.exe文件复制到Path1中("C:\Software\Path1")。

​

​

然后,我会将.ini文件更改为以下文件,并重新运行安装程序。我希望将myService.exe文件复制到Path2中("C:\Software\Path2")。

代码语言:javascript
复制
[Settings]
#======================================================================
DestDir=C:\\Software\\Path2
#======================================================================

然而,这根本不起作用。似乎只能在通过inno setup创建安装程序时才能引用ini文件,而不能在执行安装程序时引用。如何实现这一点有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2021-03-24 14:50:02

您的代码正在使用preprocessor。预处理器在编译时进行计算。它对运行/安装时间没有影响。

Inno安装程序具有用于指定目标路径的内置功能。您可以使用command-line switch /DIR=指定路径:

代码语言:javascript
复制
setup.exe /DIR=C:\Software\Path1

另一种选择是使用特殊的INI文件,如下所示,使用/LOADINF switch

代码语言:javascript
复制
[Setup]
Dir=C:\Software\Path1

一个相关的问题:Inno Setup Load defaults for custom installation settings from a file (.inf) for silent installation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66775153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档