2009-06-04 16 views
0

Visual Studioでセットアッププロジェクトを作成しました。 Visual C++でDLLを作成してもうまく動作しますが、プロジェクトにVisual C++ランタイムファイルを含めたくないカスタムアクションが必要です。 他のC++コンパイラでこのdllをビルドすることは可能ですか?msiインストーラのカスタムアクションdll-sはVisual Studioのみで作成する必要がありますか?

私はのDev-Cでそれを作る作るしようとしてい++が、コンパイルするとき、私は、ファイルから数百コンパイルエラーがmsi.hと

答えて

2

をmsiquery.hますおそらく最も簡単な解決策は、静的なランタイムに対するあなたのDLLをリンクすることですlib。

+0

おかげで、私の問題を解決しています。 – Keios

0

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

また、Koby Kahaneがhereと説明しているように、OS CRTにリンクすることもできます。

0

セットアッププロジェクト用にカスタムDLLを作成しました。私のDLLは非常にシンプルで、CLRや第三者のlib依存ではなく、いくつかのサービスを登録しています。 msi.libにのみ静的にリンクしています。

セットアッププロジェクトから.netとwindowsインストーラの前提条件要件を削除しました。私のセットアップは.netフレームワークを持っていないmacinesで失敗します..?

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

よろしく アミットはここ

関連する問題