0

VisualStudioでセットアッププロジェクトを作成しました。また、いくつかのカスタムアクションが必要です-Visual c ++でDLLを作成し、それは問題なく動作しますが、プロジェクトにVisualC++ランタイムファイルを含めたくありません。それで、他のc ++コンパイラでこのdllをビルドすることは可能ですか?

Dev-c ++で作成しようとしましたが、コンパイル時にmsi.hファイルとmsiquery.hファイルから数百のコンパイルエラーが発生します。

4

4 に答える 4

2

おそらく最も簡単な解決策は、DLLを静的ランタイムライブラリにリンクすることです。

于 2009-06-04T11:09:29.327 に答える
0

ここでは、カスタムアクションにC++DLLを使用した短い例をいくつか見つけることができます。

http://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup --- projects-and-custom-actions /

于 2011-07-16T22:57:49.983 に答える
0

一般に、カスタムアクションDLLは、インストール前にシステムにすでに存在するDLLのみに依存する必要があります。これは、たとえば、MSaltersが指摘しているように、CRTを静的にリンクすることを意味しますが、サードパーティライブラリへの他の依存関係にも適用されます。

Koby Kahaneがここで説明しているように、もう1つのオプションはOSCRTとリンクすることです。

于 2009-06-04T11:20:02.393 に答える
0

セットアッププロジェクト用にカスタムdllを作成しました。私のdllは非常にシンプルで、CLRやサードパーティのライブラリに依存するものではなく、いくつかのサービスを登録しています。msi.libとのみ静的にリンクしている。

セットアッププロジェクトから.netおよびWindowsインストーラーの前提条件を削除しました。.netフレームワークを持たないマシンでセットアップが失敗します。

.netに依存するコードがないので、これに対する解決策は何でしょうか。インストールのために最初にフレームワークをダウンロードしてほしくない。

よろしくアミット

于 2009-07-21T08:01:47.017 に答える