こんにちは、WiXで生成されたMSIから新しいboostrapperを作成しようとしています。私は1つを行って、それは働いたが、今私はファイルのバージョンをチェックする別の場所を行う必要があります。Bootstrapperの場合、FileCheck要素がSystem32の64ビットOS上のファイルを見つけられません
MSDNによると、FileCheck要素を使用する必要があります。
<InstallChecks>
<FileCheck Property="VersionDll" FileName="cimwin32.dll" SearchPath="wbem" SpecialFolder="SystemFolder"/>
</InstallChecks>
しかし、それは私のためには機能しません。
生成されるログは言う:
Running check with folder 'C:\Windows\System32\wbem' and file 'cimwin32.dll'
Attempting to find file 'C:\Windows\System32\wbem\cimwin32.dll'
Could not find file 'cimwin32.dll' in folder 'C:\Windows\System32\wbem'
Not setting value for property 'VersionDll'
は、ログファイルに記載されているパスが正しいですが!とても混乱するような。任意の助けを歓迎される
これは重要かどうか私は64のWindows 7 OSでこれを見ているかどうかはわかりません。ヘルプのオフに基づいて
UPDATE マイケルといくつかのテストから、これは64ビットマシン上のファイルのリダイレクトとブートストラップでFileCheckタグの問題です。アーキテクチャに関係なく、私はWindows/System32/wbem/cimwin32.dllをチェックする必要があります
これは64ビットオペレーティングシステムで何らかの問題があるようです。 32ビットで正常に動作します。 私がチェックしたいファイルは64ビットOS上であっても、System32上にあるので、何をすべきかわかりません。ログは、私が望む場所を探していると言いますが、それを見つけることはできません。 非常に奇妙です。 – Ambro
これが32ビットMSIの場合、System32というときはSysWow64を意味します。 –
興味深い。 "System64Folder"と呼ばれる "SpecialPath"がありますか?私は "C:\ Windows \ System32 \ wbem"の絶対パスint SearchPathを入れてみて、同じ結果を得ました。 SysWow64を見ていても、System32を見たい場合でも、System32のリテラルを見せる方法はありますか? – Ambro