嗨,我正在尝试从我的WiX生成的MSI中创建一个新的助推器。我已经做了一个,它起了作用,但现在我需要做另一个,我检查文件的版本。
根据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操作系统上看到了这一点。
基于帮助的更新和一些测试--这是64位机器上的文件重定向和引导程序中的FileCheck标记的一个问题。无论架构如何,我都需要检查Windows/System32 32/wbem/cimwin32.dll
发布于 2012-02-14 14:59:47
好的。这样啊,原来是这么回事。感谢迈克尔·厄尔曼和我的头脑风暴。这让我想到了64位开放源码软件上的文件重定向,而我不知道发生了这些事情。
要使引导程序能够访问64位操作系统上的32位目录,需要为System32使用别名Sysnative
更多信息
所以我刚创建了另一个文件检查。一个是32,一个是64,我已经开始行动了。
<InstallChecks>
<FileCheck Property="VersionDll" FileName="cimwin32.dll" SearchPath="System32\wbem" SpecialFolder="WindowsFolder" />
<FileCheck Property="VersionDll64bit" FileName="cimwin32.dll" SearchPath="Sysnative\wbem" SpecialFolder="WindowsFolder" />
</InstallChecks>https://stackoverflow.com/questions/9214309
复制相似问题