0

私のアプリケーションには、前提条件として .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\" />

4

2 に答える 2

1

この問題は、CrystalReports10_5\products.xml の DependsOnProduct タグを次のように置き換えることで修正されます。

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

于 2012-04-26T10:19:03.153 に答える
0

dotnetinstallerを使用してみてください。

これは無料のツールであり、dotnetinstaller を使用する利点は、msi をそれとマージでき、msi ファイルとは異なり、管理者が実行できる exe を生成できることです。

dotnetinstaller では、事前条件を定義することができます。

于 2011-01-13T13:14:18.490 に答える