1

状況は次のとおりです。

  • C#実行可能ファイルをインストールするVisualStudio2010セットアッププロジェクトがあります
  • インストールには、C ++ dllを参照するC#dllが含まれています
  • C++dllにはC++ 2008ライブラリが必要です

問題は、セットアッププロジェクトにC ++ 2010ライブラリをインストールさせるのは非常に簡単なことですが、2008をインストールしようとしてもあまり運がありません。

  • 2010の場合、プロジェクトの[プロパティ]>[前提条件]セクションでC++2010を選択するのと同じくらい簡単です。2008年はオプションではありません。
  • マージモジュールを使用してC++再配布可能ファイルをインストールすることに関する多くのドキュメントを見つけました。ただし、私のマシンのC:\ Program Files(x86)\ Common Files \ Merge Modulesディレクトリには、C++2010マージモジュールしかありません。信頼できるソースからダウンロードできるC++2008マージモジュールを見つけることができませんでした。
  • 再配布可能なインストーラーは簡単にダウンロードできますが、セットアッププロジェクトでそれを使用する方法がわかりません。
  • ブートストラッパーパッケージの作成に関するこのMSDNの記事を見つけました。ただし、Bootstrapper Manifest GeneratorはVS2008およびVS2005でのみ機能するようです(コメントを参照)。

私には、問題を解決できると信じている次のいずれかを実行する権限/能力がありません。

  • VS2008をインストールして、正しいマージモジュールを取得します
  • InstallShieldなどの別のインストーラープログラムを使用します。
  • 2010ライブラリを使用するには、C++dllを再コンパイルします。

誰かが以前にこの問題に遭遇して解決したことがあるなら、私はあなたの助けを歓迎します。

4

2 に答える 2

1

マージモジュールには、VS2008およびVS2008ライセンスが付属しています。2008ランタイムに依存するC++dllを作成した人は、おそらくVS2008のライセンスを持っています。あなたは彼らにあなたにそれを提供するように頼むことができます-そうすることは合法です。

于 2013-03-25T16:26:53.990 に答える
1

VS2010の前提条件としてC++2008再配布可能ファイルを追加するには、次の手順が効果的であることがわかりました。

  1. 再配布可能のプロダクトキーを決定します。ここに良いリストがあります:http://blogs.msdn.com/b/astebner/archive/2009/01/29/9384143.aspx
  2. ここで説明されているように、インストール実行可能ファイルと対応するxmlファイルをbootstrapperディレクトリ(C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages)に追加します:http://insomniacgeek.com/clickonce-4-0-package-for-the-c-2008-sp1-redist-atl-security -アップデート/
  3. VSを再起動し、セットアッププロジェクトの前提条件リストを確認します。これですべてが存在するはずです。

また、余談ですが、この質問で概説されている手順を実行しない限り、Visual C ++2010ランタイムライブラリの前提条件がVS2010で作成されたインストーラーにポップアップし続けることを発見しました。C++2010再配布可能ファイルは、既に存在している場合でも常にインストールを試みます。 。

于 2013-03-28T19:20:54.547 に答える