我創建了一個WiX安裝程序,爲Windows 2010部署了一個附加組件。目標系統當前爲x64 Win & Office已安裝。我瀏覽了幾個微軟網站,告訴我我需要的不僅僅是x64安裝程序運行時(因爲在當前字的運行過程中增加了負載)。 此安裝程序將檢查VSTO運行時使用這種說法的存在:已安裝VSTO x64運行時,但無法找到
<?if $(var.Platform)=x64 ?>
<?define win64Flag = "yes"?>
<?else ?>
<?define win64Flag = "no"?>
<?endif ?>
<Property Id="VSTORUNTIMEREDIST">
<RegistrySearch Id="VSTORuntimeRedist" Root="HKLM" Key="SOFTWARE\Microsoft\vsto runtime setup\v4R\VSTORFeature_CLR40" Name="Version" Type="raw" Win64="$(var.win64Flag)"/>
</Property>
<Property Id="OFFICERUNTIME">
<RegistrySearch Id="OfficeRuntime" Root="HKLM" Key="SOFTWARE\Microsoft\VSTO Runtime Setup\v4" Name="Version" Type="raw" Win64="$(var.win64Flag)"/>
</Property>
<Condition Message="The Visual Studio 2010 Tools for Office Runtime is not installed. Please install the Office Runtime.">
<![CDATA[Installed OR VSTORUNTIMEREDIST>="10.0.30319" OR OFFICERUNTIME>="10.0.21022"]]>
</Condition>
其實它的工作爲我安裝x86版本,而是建立在64位模式下,無法找到任何在註冊表中的64項時間(即使運行時已安裝)。 我已經嘗試卸載並重新安裝運行時(用重新啓動),但它不起作用。
我也刪除了檢查,以獲得我的添加在安裝,但它不加載然後acutally。
因此,我的問題是,如果有任何已知的錯誤問題或我使用了錯誤的註冊表項?
這是否僅適用於HKLM或每個基本密鑰?我有紅色,可能應該放置適當的AddIn註冊表項(FriendlyName,LoadBehaviour,Manifest文件位置)到HKCU只有一個用戶。我將不得不把這些密鑰然後解釋到WoW6432Node? – inva
@inva僅限於註冊表的某些部分,請參閱已更新的答案。 –
非常感謝,這個鏈接在另一方面幫了我很多。 – inva