Visual studio 2012 InstallShield(LE)-传递可在自定义操作exe中使用的命令行参数

Visual studio 2012 InstallShield(LE)-传递可在自定义操作exe中使用的命令行参数,visual-studio-2012,installation,installshield-le,Visual Studio 2012,Installation,Installshield Le,我正在使用VS2012中的InstallShield(限量版)创建设置。首先,我创建了一个安装文件。我还有一些事情要做,所以我创建了一个项目,并在初始化后(第一个对话框之前)添加了它的exe,作为一个新的自定义操作 现在我想从命令行运行这个设置,并将参数传递给它。我尝试使用%1获取命令行输入的第一个参数,但它不起作用。请说明如何使用命令行传递参数并在exe文件中使用 除非我遗漏了什么,否则InstallShield限量版不支持此功能 从Windows Installer的角度来看,您所指的是安

我正在使用
VS2012
中的
InstallShield(限量版)
创建设置。首先,我创建了一个安装文件。我还有一些事情要做,所以我创建了一个项目,并在初始化后(第一个对话框之前)添加了它的
exe
,作为一个新的自定义操作


现在我想从命令行运行这个设置,并将参数传递给它。我尝试使用%1获取命令行输入的第一个参数,但它不起作用。请说明如何使用命令行传递参数并在exe文件中使用

除非我遗漏了什么,否则InstallShield限量版不支持此功能

从Windows Installer的角度来看,您所指的是安全的自定义公共属性。(见:)

考虑命令行:

msiexec/i foo.msi SERVERNAME=MyServer

SERVERNAME大写的事实使其公开。它列在SecureCustomProperties属性中这一事实将使它更加安全。只有在考虑UAC时,安全的公共财产才起作用。如果进程已经提升,那么它不必是安全的,但它确实应该是安全的

在自定义操作端,您使用[SERVERNAME]引用SERVERNAME属性的值

当然,当有人刚刚运行MSI,但InstallShield limited edition不支持此功能时,您可能希望自定义UI体验

我可以考虑使用WiX合并模块和/或将转换应用于内置MSI的方法,但所有这些都需要高级MSI知识,通常升级到专业级更容易