I stuck comctl32.msm in an installer (comctl32.ocx merge module). On XP, comctl32.ocx appears in system32 and everything is happy. On vista, it does not work. Any guesses what I am doing wrong?
I also tried replacing the merge module with a <file>
and a lot of registry changes, in a component, but the file didn't move and the registry changes weren't made.
<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>
I had
<Condition Level="0">VersionNT >= 600</Condition>
in the feature, preventing Vista from installing it. I added that code when I was first learning Wix for reasons that I do not recall. Wow, I feel stupid.