XML-файл установщика Windows (WiX)
-
10-10-2019 - |
Вопрос
Моему приложению необходимы .Net Framework 3.5, Crystal Report 10.5 и SQLServer Express 2005 в качестве предварительных условий.Для этой цели я создал проект установки wix и добавил задачу msbuild для предварительных условий.Моя текущая проблема При установке комплекта на компьютер пользователя Crystal сообщает о попытке установки до .net Framework 3.5.Как я могу изменить порядок предварительных условий?
Мой текущий код задачи msbuild приведен ниже;
<ItemGroup>
<BootstrapperFile Include="Microsoft.Net.Framework.3.5">
<ProductName>.NET Framework 3.5</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Windows.Installer.3.1">
<ProductName>Windows Installer 3.1</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="BusinessObjects.CrystalReports.10.5">
<ProductName>Crystal Reports Basic for Visual Studio 2008 (x86, x64)</ProductName>
</BootstrapperFile>
<BootstrapperFile Include="Microsoft.Sql.Server.Express.9.2">
<ProductName>SQL Server 2005 Express Edition SP2 (x86)</ProductName>
</BootstrapperFile>
<Target Name="AfterBuild">
<GenerateBootstrapper ApplicationFile="$(TargetFileName)"
ApplicationName="Business Software"
BootstrapperItems="@(BootstrapperFile)"
ComponentsLocation="Relative"
CopyComponents="True"
OutputPath="$(OutputPath)\en-us\"
Path="C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\" />
Решение
Эта проблема устраняется путем замены тега DependsOnProduct в CrystalReports10_5\products.xml следующим образом
<RelatedProducts>
<!--<DependsOnProduct Code="Microsoft.Net.Framework.2.0" />-->
<DependsOnProduct Code="Microsoft.Net.Framework.3.5.SP1" />
Другие советы
Попробуйте использовать dotnetinstaller.
Это бесплатный инструмент, и польза от использования DotnetInstaller, вы можете объединить свой MSI с этим и можете генерировать EXE, который может быть выполнен администратором, в отличие от файла MSI.
В DotnetInstaller вы можете быть определены предварительные условия и гораздо больше.