WIX通过命令行参数更改产品名称并安装目录

时间:2018-12-26 06:27:01

标签: visual-studio wix windows-installer wix3.10



我遇到了一种典型情况,该情况需要更改命令行参数提供的产品名称,如下所示

MSBuild.exe ApplicationSetup.wixproj /p:AssemblyTitle=%USER_SPECIFIED_NAME% /p:ProductVersion=%VERSION% /p:ProductCode=%PRODUCT_CODE% /p:UpgradeCode=%UPGRADE_CODE% /t:Clean;Rebuild"


我正在.wxi文件中使用这些提供的参数。如下:

 <Product Id="$(var.ProductCode)" Name="$(var.AssemblyTitle)" Language="4"
           Version="$(var.BuildVersion)"
           Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">

此代码成功编译。但是添加/删除程序中的产品名称未正确反映。我了解到产品名称无法直接提供,应该使用硬编码。对此请提出建议。

另一个典型要求是在一台计算机上安装同一产品的多个版本。我通过对.wxi文件

中的Product标签进行以下更改来实现此目的
  <Product Id="*" Name="$(var.AssemblyTitle)" Language="4"
            Version="$(var.BuildVersion)"
            Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">



现在出现了第二次安装将覆盖第一次安装期间生成的文件的问题。因此,需要动态更改安装目录。

经过几天的努力,我已经发布了这篇文章,并尝试了许多解决方案,但徒劳无功。任何帮助将不胜感激。

0 个答案:

没有答案