1

コードを VS2005 から VS2010 に移行した後、インストーラーを作成できません。新しいブート ストラップ ファイルのすべての設定が完了しました。msbuild を使用して生成された setup.exe は、Windows インストーラー 4.5 をインストールでき (システムに存在しない場合)、.net フレームワークを正常にインストールしています。 4.0 (以前にシステムにインストールされていない場合)。しかし、この後、以下のエラーが表示され、VS2005 を使用していたときに行っていたはずの製品のインストールが続行されません。

.net フレームワークをインストールすると、以下に貼り付けられるエラーが表示されます。

「この製品はプラットフォーム用に設計されていますが、Intel にインストールされています。製造元から正しいセットアップを入手してください。」

注: 上記のエラーは、setup.exe を手動でダブルクリックしたときにも発生します。

setup.exe をコマンド プロンプトにドラッグすると (コマンド プロンプトから setup.exe を開く)、製品のインストール ショットが正常に実行されることに注意してください。

net Framework 4.0 が setup.exe を介してインストールされ、Setup.msi を介して製品をインストールしようとすると、製品のインストールが続行されますが、これはフレームワーク 4.0 がインストールされている場合にのみ機能します。1 つのシステムに Framework 4.0 がインストールされていない場合、Setup.msi を使用してインストールした後、製品は機能しません (Setup.msi は製品のみをインストールし、フレームワークはインストールしません)。つまり、setup.exe と setup.msi の機能を統合して、フレームワーク 4.0 のインストール後に製品のインストールを続行できるようにする必要があります。

注: ビルドの生成には、WIX、クルーズ コントロール、msbuild、および Nant を使用しています。

この種のエラーに直面したことがある場合は、私たちを助けてください。どうぞよろしくお願いいたします。

4

1 に答える 1

0

問題はブートストラップ ジェネレーター、つまり 7.0A ブートストラップ ジェネレーターにあります。setup.exe が 6.0A ブートストラップ ジェネレーターを使用して生成された場合、エラー メッセージは表示されません。

1 つの (ハックな) 解決策は、6.0A ブートストラップを使用して、7.0Aproduct.xmlから取得した必須パッケージ用に変更されたパッケージ記述子 ( ) を提供することです。

これら 2 つのフォルダを にコピーしますC:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\WindowsInstaller4_5

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX40

ビルド スクリプトの GenerateBootStrapper タスクを微調整して、6.0A ブートストラップを参照します。

<GenerateBootstrapper
  ApplicationFile="Files\$(TargetName).msi"
  ApplicationName="Your app name"
  Culture="en"
  ComponentsLocation ="HomeSite"
  CopyComponents="True"
  Validate="True"
  BootstrapperItems="@(BootstrapperFile)"
  OutputPath="$(OutSubDir)"
  Path="C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\" 
/>

<ItemGroup>
  <BootstrapperFile Include="Microsoft.Windows.Installer.4.5">
    <ProductName>Microsoft Windows Installer 4.5</ProductName>
  </BootstrapperFile>
  <BootstrapperFile Include=".NETFramework,Version=v4.0">
    <ProductName>Microsoft .NET Framework 4.0</ProductName>
  </BootstrapperFile>
</ItemGroup>

product.xmlまた、発生する XSD 検証エラーを解決するために、DotNetFX40 を微調整する必要があります (product.xml 構文にいくつかの機能が追加されたようです)。

于 2011-03-21T10:56:35.130 に答える