Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms word Word 2013的VSTO Word模板WIX安装程序工作不正常_Ms Word_Wix_Windows Installer_Vsto - Fatal编程技术网

Ms word Word 2013的VSTO Word模板WIX安装程序工作不正常

Ms word Word 2013的VSTO Word模板WIX安装程序工作不正常,ms-word,wix,windows-installer,vsto,Ms Word,Wix,Windows Installer,Vsto,我开发了一个基于VSTO的Word模板和一个基于WIX的安装程序。 一般来说,安装程序工作正常,但在Windows8.1上安装Office 2013 32位除外。 由于som未知原因,Office 201332安装在C:\Program Files,并且相关注册表项正确指向它。 在执行Word模板的msi包期间,注册表项似乎被修改,如msiexec的日志文件所示: MSI (c) (18:98) [09:10:34:954]: WIN64DUALFOLDERS: 'C:\Program File

我开发了一个基于VSTO的Word模板和一个基于WIX的安装程序。 一般来说,安装程序工作正常,但在Windows8.1上安装Office 2013 32位除外。 由于som未知原因,Office 201332安装在C:\Program Files,并且相关注册表项正确指向它。 在执行Word模板的msi包期间,注册表项似乎被修改,如msiexec的日志文件所示:

MSI (c) (18:98) [09:10:34:954]: WIN64DUALFOLDERS: 'C:\Program Files (x86)\' will substitute 17 characters in 'C:\Program Files\Microsoft Office 15\Root\Office15\WINWORD.EXE' folder path. (mask argument = 0, the folder pair's iSwapAttrib member = 0).
因此,找不到Winword.exe,安装程序将停止。 我正在使用此WIX代码检查是否安装了Word 2010或更新版本:

<Property Id="WORDEXEVERSION"
          Secure="yes">
  <RegistrySearch Id="RegSearch_WORDEXE"
                  Root="HKLM"
                  Key="SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe"
                  Type="file">
    <FileSearch Name="WINWORD.EXE"
                MinVersion="14.0.0.0" />
  </RegistrySearch>
</Property>
<Condition Message="Word 2010 or newer is required."><![CDATA[Installed OR WORDEXEVERSION]]></Condition>
在其他装有Win 8.1和Office 201332Bit的机器上,Office安装在C:\Program Files x86上,一切正常。
有人知道为什么Office 2013可能安装到明显错误的文件夹,或者如何使msiexec按预期运行吗?

用户可能会强制安装到那里,这可能是可能的,或者实际系统可能已就地升级到64位操作系统,因此程序文件中的内容将保留在那里

检测的目的是什么?查看是否安装了Word?我这样问是因为我似乎记得模板在某个地方有自己的文件夹,你可以在那里安装模板