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