我在安装程序(comctl32.ocx合并模块)中粘贴了comctl32.msm。在XP上,comctl32.ocx出现在system32中,一切都很开心。在Vista上,它不起作用。有没有猜到我做错了什么?
我还尝试在组件中用<file>
和许多注册表更改替换合并模块,但文件没有移动,并且没有进行注册表更改。
<Directory Id="SystemFolder" Name="Sys">
<Merge Id="VBRunMod" Language="1033" SourceFile="Merge\msvbvm60.msm" DiskId="1" />
<Merge Id="ComCatMod" Language="1033" SourceFile="Merge\comcat.msm" DiskId="1" />
<Merge Id="OleautMod" Language="1033" SourceFile="Merge\oleaut32.msm" DiskId="1" />
<Merge Id="ComCtlMod" Language="1033" SourceFile="Merge\comctl32.msm" DiskId="1" />
<Merge Id="MSCtlMod" Language="1033" SourceFile="Merge\mscomctl.msm" DiskId="1" />
</Directory>
答案 0 :(得分:4)
我在功能中有<Condition Level="0">VersionNT >= 600</Condition>
,阻止Vista安装它。当我第一次学习Wix时,我添加了该代码,原因是我不记得了。哇,我觉得很蠢。