当我们执行 msiexec.exe /i myApp.msi /q
我知道我们最终会进行静默安装,但是安装程序从哪里获得必须填充和安装所需的字段的值。例如,可能有一些字段或参数,如用户名、密码等,我们可能会在常规安装期间从用户那里获得。
在静默安装中,安装程序从输入文件中获取这些信息。这个输入文件存储在哪里?或者它是如何获得这些值的?
我正在尝试进行静默安装并面临问题,因为它为特定属性选择了错误的值......我不知道它是如何选择的。
任何指针将不胜感激。
当我们执行 msiexec.exe /i myApp.msi /q
我知道我们最终会进行静默安装,但是安装程序从哪里获得必须填充和安装所需的字段的值。例如,可能有一些字段或参数,如用户名、密码等,我们可能会在常规安装期间从用户那里获得。
在静默安装中,安装程序从输入文件中获取这些信息。这个输入文件存储在哪里?或者它是如何获得这些值的?
我正在尝试进行静默安装并面临问题,因为它为特定属性选择了错误的值......我不知道它是如何选择的。
任何指针将不胜感激。
您引用的参数在 Windows Installer 中称为“属性”。因此,如果您静默运行,属性将具有其默认值。Property
如果您在将要使用的元素中指定一个值。如果您有SetProperty
或其他CustomAction
元素可以更改属性的值。您还可以在命令行上为安装提供属性,如下所示:
msiexec /i path\to\your.msi /q PROPERTY1=value PROPERTY2="my other value" PROPERTY3=2
还需要注意的是,Windows 安装程序不存储在安装过程中更改的属性值。你会想要查看Remember Property Pattern。
MSI 本身并不使用输入文件来获取值。如果那是您的故事,您必须实施自定义操作才能实现。
通常,您会使用在命令行中传递的安全自定义属性(SecureCustomProperties 属性中列出的公共属性,其中公共属性是所有 CAPS 中的一个。)。
msiexec /i foo.msi /qn USERNAME=Bob PASSWORD=1Password
通常,您在 UI 和执行序列中有自定义对话框、控件和自定义操作来处理输入验证。