我遇到了一种典型情况,该情况需要更改命令行参数提供的产品名称,如下所示
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 Id="*" Name="$(var.AssemblyTitle)" Language="4"
Version="$(var.BuildVersion)"
Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
现在出现了第二次安装将覆盖第一次安装期间生成的文件的问题。因此,需要动态更改安装目录。
经过几天的努力,我已经发布了这篇文章,并尝试了许多解决方案,但徒劳无功。任何帮助将不胜感激。