Я столкнулся с типичным сценарием, в котором требовалось изменить название продукта в соответствии с параметрами командной строки, как показано ниже
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)">
Этот код успешно компилируется.Но название продукта в программе добавления / удаления отображается неправильно.Я прочитал, что название продукта не может быть предоставлено напрямую, оно должно быть жестко запрограммировано. Пожалуйста, сообщите об этом.
Еще одно типичное требование - установить на машине несколько версий одного и того же продукта.Я несколько добился этого, выполнив следующие изменения в теге Product в файле .wxi
<Product Id="*" Name="$(var.AssemblyTitle)" Language="4"
Version="$(var.BuildVersion)"
Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
Теперь возникает проблема, что вторая установка перезапишет файл, созданный во времяПервая установка.Поэтому требуется динамически изменять каталог установки.
Я опубликовал это после нескольких дней борьбы и перепробовал много решений, но все тщетно.Любая помощь будет высоко оценена.