[wix-users] "Program file" is replaced by "Program file (x86)" [P]

Rob Mensching rob at firegiant.com
Wed May 25 06:39:34 PDT 2016


The Windows Installer will rewrite ProgramFilesFolder paths to "help" x86 packages install to the correct location.

_____________________________________________________________
 Short replies here. Complete answers over there: http://www.firegiant.com/


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Yandex Mail
Sent: Wednesday, May 25, 2016 6:35 AM
To: 'WiX Toolset Users Mailing List' <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] "Program file" is replaced by "Program file (x86)" [P]

Hi Steve

Please see my description in first message.

Also you can see the description here
https://github.com/wixtoolset/issues/issues/5305
I do not know can we send message.

I create installer x86.
And it has the condition. It must check that the user has Microsoft Word 2013.

I use the standard code:
<Property Id="HOSTPATH">
  <RegistrySearch Id="RegSearch_HOSTEXE" Root="HKLM"
Key="SOFTWARE\Microsoft\Office\15.0\Word\InstallRoot" Name="Path"
Type="directory">
    <FileSearch Name="WINWORD.EXE" />
  </RegistrySearch>
</Property>
<Condition Message="!(loc.HostConditionMessage)"><![CDATA[Installed OR HOSTPATH]]></Condition>

This condition does not work on Windows x64 with Microsoft Word x86.

I researched the user computer and found that Word x86 is set in "C:\Program Files\Microsoft Office\root\Office15\".
And, accordingly, in key
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Word\InstallRo
ot Path value has "C:\Program Files\Microsoft Office\root\Office15\"

I got procmon.exe and checked what was going on.

The install process can try open "C:\Program Files (x86)\Microsoft Office\root\Office15\", although it should open "C:\Program Files\Microsoft Office\root\Office15\" folder.

Why does it change from "Program Files" to "Program Files (x86)"?

----
Leonid


More information about the wix-users mailing list