2011-01-12 4 views
0

Мое приложение нуждается в .NET Framework 3.5, Crystal Report 10.5 и SQLServer Express 2005 в качестве предварительных условий. Для этого я создал проект установки wix и добавил задачу msbuild для необходимых условий. Моя текущая проблема При установке комплекта на пользовательскую машину, хрустальный отчет, который пытается установить перед .net framework 3.5. Как я могу изменить порядок предварительных условий?Установщик Windows XML (WiX)

Мой текущий код задачи 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\" /> 

+0

Кажется, что вы не форматировать код как код блока, именно поэтому XML в ваш образец невидим ... –

+0

выглядит как дубликат http://stackoverflow.com/questions/471405/bootstrapper-prerequisite-ordericing – wimh

+0

Я проверил сообщение, которое заметил Виммэль. Product.xml Crystal Reports уже зависит от Microsoft.Net.Framework.2.0. В моем сценарии я устанавливаю .net framework 3.5, и он также включает фреймворк 2. Тогда почему хрустальные отчеты пытаются установить сначала? – Vijayakumar

ответ

1

Эта проблема будет устранена путем замены тега DependsOnProduct в CrystalReports10_5 \ products.xml следующим

<RelatedProducts> 
<!--<DependsOnProduct Code="Microsoft.Net.Framework.2.0" />--> 
<DependsOnProduct Code="Microsoft.Net.Framework.3.5.SP1" /> 

0

Попробуйте использовать dotnetinstaller.

Это бесплатный инструмент и преимущество использования dotnetinstaller - вы можете объединить свои msi с этим и можете генерировать exe, который может быть выполнен администратором в отличие от файла msi.

В dotnetinstaller вы можете определить предварительные условия и многое другое.

+0

Спасибо за ваш ответ Sunil. Я должен исправить проблемы с существующим установочным комплектом. Изменение загрузочной копии не является хорошим вариантом для меня. – Vijayakumar

Смежные вопросы