Pass command line variables into WiXx based Window

2019-03-12 19:53发布

I am building an MSI installer with WiX and I am using the WixUI_Advanced. The definition of my ApplicationFolder looks like this, following the advice in another SO answer (WiX tricks and tips).

  <Directory Id="TARGETDIR" Name="SourceDir">
     <Directory Id="$(var.PlatformProgramFilesFolder)">
        <Directory Id="APPLICATIONFOLDER" Name="$(var.InstallName)">

I now want to give the user the option to do a silent install and pass the ApplicationFolder name on the path, either relative to the appropriate program files folder or absolute.

I know that I can pass public property values on the command-line of msiexec, but how do I use that as value for ApplicationFolder and how do I set this up for absolute vs relative paths.

1条回答
啃猪蹄的小仙女
2楼-- · 2019-03-12 20:31

You just define the property on the command line when running msiexec:

msiexec /i product.msi APPLICATIONFOLDER="C:\Program Files\Company\Product\"

The files will be installed into "C:\Program Files\Company\Product" directory.

I'd advice using absolute path here. A relative path may lead to unexpected results.

查看更多
登录 后发表回答