私は熱でうまく収穫しているディレクトリを持っています。
Heat.exe dir "$(ProjectDir)\..\source\DataInterface" -v -cg DataInterfaceFiles -gg -scom -sreg -sfrag -srd -dr DATAINTERFACEFOLDER -var wix.DataInterface.Source -out "$(ProjectDir)\Product\DataInterface\DataInterfaceFiles.auto.wxs"
ファイルの1つは、COM相互運用機能の登録が必要なdllです。
<Component Id="cmpXXXXXX" Guid="{GUID}">
<File Id="filXXXXX4" KeyPath="yes" Source="!(wix.DataInterface.Source)\MyCompany.Ofd.InterfaceLog.dll" />
</Component>
Heatは必要な.regファイルを正しく生成していますが、CodeBase
このファイル内の値はビルドサーバーの相対パスに設定されています。
...
[HKEY_CLASSES_ROOT\CLSID\{GUID}\InprocServer32\2.10.8.1]
"Class"="MyCompany.Ofd.EventLogger"
"Assembly"="MyCompany.Ofd.InterfaceLog, Version=2.10.8.1, Culture=neutral, PublicKeyToken=xxx"
"RuntimeVersion"="v1.1.4322"
"CodeBase"="file:///H:/Installer/source/Services/DataInterface/MyCompany.Ofd.InterfaceLog.dll"
...
これは、ユーザーマシンへのインストール時に、パスが正しくないため、ファイルが登録されないことを意味します。
私はこのregファイルをヒートで再実行して、何かができるかどうかを確認しようとしましたが、それは役に立ちませんでした。相対パスはまだ残っています。
インストール時に機能するファイルパスを使用してregファイルを生成する方法はありますか?