0

VisualStudio2010でC++Windowsアプリケーションに取り組んでいます。

ビジュアルランタイムfxをインストールする義務なしに、顧客が簡単に使用できるように、アプリケーションを顧客に提供したいと思います。そして、どこでも実行されます。

お客様が必要なVisualStudioランタイムライブラリを個別にインストールする必要がないようにインストーラーを設定するにはどうすればよいですか?

私のコスチュームはコンピューティングから遠く離れているので、この問題の解決策が欲しいのですが、彼らは「次、次、インストール、終了」システムが大好きです。

ご協力ありがとうございました。

4

4 に答える 4

2

静的にリンクしないでください。MSIインストーラーを作成している場合は、ここここで説明されているように、VisualStudioランタイムのマージモジュールを含めるだけです。WiXの最新バージョンを使用できる場合は、バンドルを作成することをお勧めします。

于 2012-12-04T18:34:56.877 に答える
2

一般的に、2つのオプションがあります。

  • インストーラーをビルドします(たとえば、WiXまたはNSISを使用)。インストーラーは、必要なライブラリとともにアプリケーションをインストールします。アプリケーションを配布しているので、すでにインストーラーを構築している可能性があります。したがって、このソリューションは理にかなっています。

  • ファイルを必要なライブラリに静的にリンクします。このように、アプリケーションの実行可能ファイルには、必要なすべてのコードが含まれています。もちろん、これは、使用しているライブラリが静的にリンクできることを前提としています。そうではないかもしれません。

于 2012-12-04T16:58:27.863 に答える
2

製品を静的にリンクして外部依存関係がないようにするか、インストーラーのビルド時に必要なランタイムコンポーネント用のMSIマージモジュールを含めます。

于 2012-12-04T17:30:54.013 に答える
1

一般に、オプションは静的リンク、プライベートデプロイメント、マージモジュールを使用して他の誰かのロジックを再利用するか、ブートストラッパーを使用して前提条件を再配布することです。

正確な依存関係が何であるかを知らずに正確な答えを出すことは不可能ですが、それぞれの長所と短所は次のとおりです。

静的リンク-ファイル以外にデプロイするものがないため、簡単です。主な欠点は、ライブラリにセキュリティの脆弱性があり、パッチを適用する必要がある場合、アプリケーションを再構築して再デプロイしないとできないことです。

プライベートデプロイメント-アプリケーションディレクトリにファイルをデプロイするだけなので、比較的簡単です。アプリケーションを再構築して再デプロイする必要があるため、サービスの問題がまだあります。Microsoftはディレクトリにパッチを適用しません。

マージモジュール-簡単そうです。マージモジュールを追加するだけです。ただし、マージモジュールに問題がある場合は、ベンダーに翻弄されるという点で、依然として大きな問題があります。(マイクロソフト)。これが、最近、マージモジュールの使用が嫌われている理由です。

redist-実装が最も難しい(setup.exeブートストラッパーを定義する必要があります)が、他の誰かのインストーラーを再利用するという点でも最も簡単です。そのベンダーはあなたのdllを再構築せずにそのdllにパッチを当てることができるので、これは最適です。

したがって、一般的に、redistsが進むべき道です。しかしいつもではない... :)

于 2012-12-04T19:44:17.757 に答える