2017-09-28 42 views
2

WIX msisでVC++で書かれたCustomActionsを使用しています。それはWindows7のマシンで正常に動作しています。しかし、Win 10でmsiを実行しようとすると、Microsoft Visual C++ 2010再頒布可能パッケージがWin 10マシンにデフォルトでインストールされていないため、動作していないし失敗しています。 MSIを動作させるには、Microsoft Visual C++ 2010 Redistributable Packageをインストールする必要があります。しかし、問題は、カスタムアクションがINSTALLDIRの選択に責任があり、何かをインストールする前に起こるので私たちはMSiと一緒にインストールできないということです。私の質問はWixのVC++カスタムアクション

です。1.)Visual C++が本当に必要ですか? 2010 VC++カスタムアクションを実行するための再配布可能ファイル。

2.)INSTALLDIRを選択する前にインストールするにはどうすればよいですか?

答えて

2

DLLを静的ライブラリでコンパイルするだけです。この場合、DLLには追加の依存関係はありません。

プロジェクト設定でGeneral->Use of MFCUse MFC in a static libraryを設定します。

C/C++ -> Code Generationより、MultithreadedまたはMultithreaded Debug/MTまたは/ MTdのオプションを選択してください。

Dependency Walkerを使用して、インストールする必要のあるDLLがさらに必要かどうかを確認できます。

1

CRTライブラリをカスタムアクションdllに静的にリンクする必要があります。

関連する問題