私はWiXを使って64ビットアプリケーションをインストールしています。私は64 bit installer作る方法を考え出したが、私は手動でWiXで64ビットDLLを登録する方法
"Program can't start because XXXX.dll is missing from your computer.
Try reinstalling the program to fix this problem"
エラーを得ることはありません私はインストール私のDLLを登録する方法を考え出すのトラブルを抱えています。
私はheat.exe
を使用して、必要なRegistryValue
タグを作成しようとしましたが、64ビットDLLと互換性がありません。私は32ビットでDLLのいくつかをコンパイルしましたが(32ビットで私が利用できるわけではありませんが)、まだheat.exe
を動作させることができませんでした。 this WiX help articleを見ると、RegistryValue
というタグを手作業で作成できるはずですが、何を入れるべきか混乱しています。私は例hereを見てきましたが、それはWiXの記事よりずっと複雑です。
どのようなRegistryValue
タグは、OSにDLLを登録する必要がありますので、PATH上にありますか?
EDIT:追加のコンテキスト。
私はSDKといくつかのサンプルソースコードをインストールしようとしています。私はSDK(DLL、.libs、およびヘッダー)を\ Program Filesのフォルダに入れています。サンプルのソースコードをデスクトップのフォルダに入れています。 %LIBPATH%にlibディレクトリ、%INCLUDE%にインクルードディレクトリ、%PATH%にbin(DLL)ディレクトリがあります。
次に、サンプルコードのVS Solutionを使用してデスクトップにフォルダがあります。このソリューションでは、Additional Library Directories
に%LIBPATH%を指定し、VSプロジェクトのAdditional Include Directories
フィールドに%INCLUDE%を指定します。それはうまく動作し、ソリューションが構築されます。しかし、私はそれを実行しようとすると、 "あなたのコンピュータからDLLが見つかりません"エラーが発生します。私はSDK DLLを(%PATH%にあるかどうかに関わらず)見つけることができるようにしたいので、DLLをコピーする必要なしにデモコードを構築して実行するだけです彼らが構築する他のアプリケーションにも当てはまります。
編集2:私は質問を閉じるために投票しています。 WiXを使ってDLLを登録することは、私の実際の問題とは関係がないようです。
各DLLの['File'](http://wixtoolset.org/documentation/manual/v3/xsd/wix/file.html)要素に' SelfRegCost = "1" 'を追加するだけでよいでしょう。 – zett42
私はそれを試み、登録に失敗しました。また、それは[ベストプラクティスではないようです](http://stackoverflow.com/questions/364187/how-do-you-register-a-win32-com-dll-file-in-wix-3) 。 – stranger