2016-11-29 53 views
0

.NET框架的前提條件這實際上是從這個職位另一個問題:How Can I check .NET framework 4.5 prerequisites?我如何檢查維克斯中

但是我已經和最新的WiX 3.8版本碰到的問題,其中甚至以下就是我認爲是方向,沒有.NET是公認

1)與頂級威克斯標籤

xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" 

2)添加propertyRef標籤WXS更新(我相信它在產品部分去 - 可能是一個錯誤)

<WIX> 
    <PRODUCT> 

    <PropertyRef Id="NETFRAMEWORK45"/> 

3.)添加條件塊,這也是我認爲去在相同的水平PropertyRef,以產品部分

4.)我使用蠟燭和光對從一個bat文件命令行

echo running the packaging step: wix candle DEV %VERSION% 

call "candle" myproject.wxs -ext WiXNetFxExtension -ext WixUtilExtension -I.\Includes\Dev -dVersion="%VERSION%" -dShortVersion="%SHORTVERSION%" -dBuildTime="%BuildTime%" > dev1.log 

echo running the packaging step: wix light DEV 

call "light" -sice:ICE50 -sice:ICE61 -sice:ICE64 -ext WiXNetFxExtension -ext WixUtilExtension -o myproject.msi myproject.wixobj > dev2.log 

無論登錄似乎顯示出任何麻煩

dev1.log:

的Windows Installer XML工具集編譯器版本3.8.1128.0版權所有 (C)Outercurve基金會。版權所有。

myproject.wxs

dev2.log有一些警告,但沒有相關的:

的Windows Installer XML工具集鏈接器版本3.8.1128.0版權所有(C) Outercurve基金會。版權所有。

C:\ SVN \ myproject_Trunk \客戶\生成\威克斯\ myproject.wxs(251):錯誤 LGHT0204:ICE38:組件安裝NonAdvertisedShortcut到用戶 輪廓。它必須使用HKCU下的註冊表項作爲其KeyPath,而不是 文件。 C:\ SVN \ myproject_Trunk \ client \ Build \ wix \ myproject.wxs(259): 錯誤LGHT0204:ICE38:組件NonAdvertisedShortcut2安裝到 用戶配置文件。它必須使用HKCU下的註冊表項作爲其KeyPath, 不是文件。 C:\ SVN \ myproject_Trunk \ client \ Build \ wix \ myproject.wxs(357) :警告LGHT1076:ICE40:REINSTALLMODE在屬性 表中定義。這可能會造成困難。 C:\ SVN \ myproject_Trunk \ client \ Build \ wix \ myproject.wxs(251):錯誤 LGHT0204:ICE43:組件NonAdvertisedShortcut沒有公佈 快捷方式。它應該使用HKCU下的註冊表項作爲其KeyPath,而不是 文件。 C:\ SVN \ myproject_Trunk \ client \ Build \ wix \ myproject.wxs(259): 錯誤LGHT0204:ICE43:組件NonAdvertisedShortcut2有 未公佈的快捷方式。它應該使用HKCU下的註冊表項作爲 其KeyPath,而不是文件。 C:\ SVN \ myproject_Trunk \ client \ Build \ wix \ myproject.wxs(30):警告 LGHT1076:ICE48:目錄'DRIVE.C'似乎在 屬性表中被硬編碼爲本地驅動器。 C:\ SVN \ myproject_Trunk \ client \ Build \ wix \ myproject.wxs(254):警告 LGHT1076:ICE90:快捷方式'ScKey001'的目錄是 公共屬性(ALL CAPS)並且位於用戶配置文件目錄。如果ALLERSERS屬性的值在UI序列的 中發生更改,則此 會導致問題。 C:\ SVN \ myproject_Trunk \ client \ Build \ wix \ myproject.wxs(260):警告 LGHT1076:ICE90:快捷方式'ScKey002'的目錄爲 公共屬性(ALL CAPS)並且位於用戶配置文件目錄。如果ALLERSERS屬性的值在UI序列的 中發生更改,則此 會導致問題。

我使用-v選項運行燈光,並且還刪除了ICE選項。

看來擴展沒有打包我的MSI。

運行msiexec以獲得詳細的日誌似乎也沒有透露任何東西。

我覺得我在某個地方犯了一個簡單的錯誤。

回答

0

問題的答案是,該項目最初是從MSIbuild創建的,Wix dark實用程序用於構建wxs。它包括自定義對話框和安裝順序。通過刪除自定義安裝順序和對話框標籤,然後添加-ext WixUIExtension,我能夠成功地在.NET 4.5 PC和尚未安裝.NET 4.5的PC上看到正確的消息。