gpt4 book ai didi

windows-installer - 将命令行参数从 installshield 安装程序传递到自定义操作 exe

转载 作者:行者123 更新时间:2023-12-05 07:50:18 25 4
gpt4 key购买 nike

我正在使用 InstallShield 安装程序 setup.exe 文件静默安装我的应用程序。现在我想用一些命令行参数调用 setup.exe。并且这些参数应该在我创建的 EXE 自定义操作中可用,以便在成功时执行。如何在调用安装文件时从命令行传递所有数据并在我的 exe 中使用它。该 exe 是一个用 C# 编写的控制台应用程序。

最佳答案

我知道这是一个基于 MSI 的项目,我假设 .exe 自定义操作是延迟执行。

你应该做的是:

  1. 在您的安装程序中,为 .exe 定义一些您需要的自定义 MSI 属性(例如 ServerNameServerPort)
  2. 创建“设置属性”类型的自定义操作。 Property Name 应该是运行 exe 的自定义操作的名称(例如 RunMyExe)。 Property Value 应该是自定义属性的串联列表,例如[服务器名称];[服务器端口]。使此自定义操作在 InstallInitialize 之后运行。
  3. 在您的 .exe 自定义操作 (RunMyExe) 中,将 [CustomActionData] 作为命令行传递给您的 exe 程序
  4. 让你的exe程序获取命令行,并拆分它以获得它需要的数据
  5. 在设置您在第 1 步中定义的自定义属性时调用 setup.exe,例如setup.exe/v"ServerName=test-srv ServerPort=67000"

发生的情况是,在延迟的自定义操作上您不能使用外部属性(例如从命令行提供的属性),您只能访问内部属性,例如 CustomActionData。这里的技巧是,如果存在具有操作名称的属性(上例中的 RunMyExe),则内部 CustomActionData 属性会从中获取其值。

关于windows-installer - 将命令行参数从 installshield 安装程序传递到自定义操作 exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36301375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com