1

vs2008 セットアップ プロジェクトを使用して展開したい C++ コンソール アプリケーションがあります。セットアップ プロジェクトを作成し、コンソール アプリからの出力を追加すると、セットアップ プロジェクトは MSVCP90.dll と MSVCR90.dll が必要であることを検出します。プロジェクトをビルドすると、これら 2 つの dll が期待どおり .msi ファイルに含まれます。

インストーラーをダウンロードして起動すると、すべてが期待どおりに進み、コンソール アプリと dll がローカル マシンの適切なディレクトリに解凍されます。

アプリを実行しようとすると、次のエラーが表示されます。

エラー 1721。
この Windows インストーラー パッケージには問題があります。
このインストールを完了するために必要なプログラムを実行
できませんでした。
サポート担当者またはパッケージ
ベンダー にお問い合わせください。

/MT と /MD を使用してアプリをコンパイルしようとしましたが、どちらも機能しません。

アプリに対して依存関係ウォーカーを実行すると、期待どおりに MSVCP90.dll と MSVCR90.dll が必要であると報告されます。

最後に、Visual C++ ランタイム ライブラリを要求するようにインストーラーを設定すると、それらがダウンロードされ、すべて正常に動作します。

明らかに、CRT ライブラリのダウンロードは避けたいと思います。

助けてくれてありがとう、ジョン

4

1 に答える 1

1

適切なマージ モジュールを追加し、セットアップと共にターゲット マシンにデプロイする方法については、この例を確認してください。

于 2009-07-01T00:48:45.817 に答える