0

ばかげた質問かもしれませんが、さまざまな可能性を数時間かけてテストしましたが、答えが見つかりませんでした。

VS 2005 で準備された標準マージ モジュールが 1 つあります (おそらく問題ありません。標準の VS 2005 セットアップ プロジェクトを準備し、マージ モジュールを含め、正常に動作しました)。

Wix プロジェクト (主に GUI の理由による) がインストールを処理します。コードサンプル (簡潔にするために短縮されています)

ディレクトリ部分:

<Directory Id="INSTALLLOCATION" Name="sth">
      <Merge Id='MyModule3' Language='1033' SourceFile='MergeModule.msm' DiskId='1' />
</Directory>

機能部分:

<Feature Id="ProductFeature3" Title="Tit" Level="1" Description='Yeah' ConfigurableDirectory='INSTALLLOCATION' Display='expand'
         AllowAdvertise='no'>
  <MergeRef Id='MyModule3' />
  <ComponentGroupRef Id="Product.Generated" />
</Feature>

WIX プロジェクトをビルドすると、次のようなエラーがスローされます。

ICE83: MsiPublishAssemblies アクションと MsiUnpublishAssemblies アクションの両方が InstallExecuteSequence テーブルに存在する必要があります。ICE83: MsiPublishAssemblies アクションは、AdvtExecuteSequence テーブルに存在する必要があります。

行を追加しました:

<InstallExecuteSequence>
  <Custom Action="PreventDowngrading"
     After="FindRelatedProducts">NEWPRODUCTFOUND</Custom> //i suppose it doesnt influence nothing here
  <MsiPublishAssemblies Sequence="1502" />
  <MsiUnpublishAssemblies Sequence="1501" />
</InstallExecuteSequence>

と:

 <AdvertiseExecuteSequence>
  <MsiPublishAssemblies Sequence="1502" />
</AdvertiseExecuteSequence>

その後、ビルド プロセスでエラーは返されませんが、機能をインストールしても (機能リストで選択)、HDD に機能ファイルがありません。シーケンス番号が原因である可能性があると思いますが、それらを修正する方法がわかりません。誰か助けてください。

さらに情報が必要な場合は、必ず提供します。

4

1 に答える 1

0

私はうまくいかないことがある多くのことを考えることができます。インストールログを見て、ファイルがインストールされるかどうかを確認します。ファイルがインストールされると予想していた場所ではありません。VDPROJ MSMには、ディレクトリテーブルの誤った作成など、非常に多くの問題があることを私は知っています。

私が作成したIsWiX(CodePlex.com)というオープンソースプロジェクトをご覧になることをお勧めします。これは、WiXマージモジュールプロジェクト用のUIオーサリングツールとして設計されており、従来のWiXXMLを使用してメタデータを追加することもできます。その結果、InstallShield、WiX、VDPROJなどで使用できる非常にクリーンなマージモジュールが得られます。

于 2011-04-08T11:37:54.413 に答える