1

WIXインストーラー パッケージを使用してパッケージ化する必要があるアプリケーションを作成中です。

を使用するのは初めてですが、アプリケーションWIXをパッケージ化できるように学習に時間と労力を費やしてきました。WPF

を学習する前に、 Advanced InstallerWIXというソフトウェアを使用して、アプリケーションのパッケージ化を支援してみました。よかった。私はうまく機能する小さなアプリケーションから始めました。その後、実際のアプリケーションを使用してみましたが、すべての 's を含めた後、.exe ファイルを起動した後、アプリケーションはまったく実行されませんでした。オフィス内の他のマシンでも試しましたが、同じ問題が発生しました。アプリケーションが実行されませんでした。WPFdll

WIX次に、単純なインストーラー (ダイアログなし) を試しました。.exeそして、高度なインストーラーと同じことを経験したようです-ファイルを実行しなかっただけです。

(それが自分のアプリケーションかどうかをテストするために) 私が試したdllのは、実際のアプリケーションのデバッグ フォルダーからすべてのファイルをコピーし、それらを自分のプログラム ファイルに貼り付けたことC:driveです。そして、それは私のマシンだけでなく、他のマシンでも動作するように見えました - それは私をさらに混乱させました! また、アプリケーションのビルド オプションが次のようになっていることも確認しました。

Build Option: Page 

Copy to Output Directory: Do not copy

Custom Tool: MSBuild Compile 

したがって、それが私のアプリケーションであるか (dllまたは実際のアプリ内に何かが欠けているか)、または実際のインストーラー内に何かが欠けているか (を使用してWIX) を理解するのに苦労しています。

私が間違っていることを理解するのに役立つ助け、専門知識、またはガイダンスがあれば大歓迎です-私が言うように、私はパッケージング全体に慣れていないので、私が見逃しているのは本当にばかげているかもしれません!

前もって感謝します。

4

2 に答える 2

1

Advanced Installerは、WIX と同様に単なるパッケージ ツールであり、インストールの実行方法には影響しません。アセンブリをインストールするには、「アセンブリ」と呼ばれる別のページがあるため、最初にすべての EXE と DLL を [ファイルとフォルダー] ページに追加し、次に [アセンブリ] ページに移動して、インストールする必要がある DLL をリストに追加する必要があります。アセンブリ。

この新しいページから、リストにアセンブリを追加した後、EXE の横にあるアプリケーション フォルダにインストールする方法 (ラジオ ボタン) を簡単に選択できます (プライベート インストール、または GAC のマシン インストール)。

アセンブリ ページは、無料版ではなく、Professional 以上のプロジェクト タイプで表示されることに注意してください。

上記の個別のコンポーネントの説明について。すべてのファイルまたは個別のコンポーネントをインストールする単一のコンポーネントがある場合、アプリケーションの実行方法には影響しません。これは、セットアップ パッケージの設計を改善するための Microsoft の推奨事項にすぎません。

DLL ごとに 1 つのコンポーネントを用意することで、これらの DLL のいずれかが見つからないか変更された場合に、Windows インストーラーが自動修復をトリガーできるようになります。すべてのファイルに対して単一のコンポーネントがあるかのように、そのコンポーネントのキーパス (これらのファイルの 1 つだけ)が欠落しているか変更されている場合にのみ、Windows インストーラーが自動修復をトリガーしますが、他のファイルが欠落しているか変更されている場合、修復はアプリケーションの起動時にトリガーされません。

次の記事では、コンポーネントの推奨事項の整理についてもう少し詳しく説明しています。

于 2013-06-12T07:55:17.207 に答える
1

WIX はパッケージング ツールです。アプリケーションをパックしてクライアント マシンに配置するだけで、ここでは必要のないその他の処理を実行します。

それは完全にアプリケーションの構成に関するものです。すべてのアプリケーション (WPF または Windows) の .exe ファイルを必要とするすべての参照アセンブリは、クライアント コンピューターで実行できる必要があります。Copy Local プロパティを true に設定した場合は、アセンブリをアプリケーションのインストール フォルダーに送る必要があります。Copy Local プロパティを false に設定した場合は、すべてのアセンブリをクライアント マシンの GAC フォルダーにインストールする必要があります。

アセンブリを GAC にインストールするよりも、インストール フォルダーに配布する方が常に簡単です。

ノート:

フレームワークは、アプリケーションのパッケージ化においても重要な役割を果たしました。

WPF アプリケーションには .NET Framework 4.0 または少なくとも .NET Framework 3.5 SP1 がクライアント マシンに必要です。これは、アプリケーションの作成に使用しているフレームワークによって異なります。

于 2013-05-31T11:24:11.243 に答える