2010-07-23 44 views
3

安裝問題在構建我的WXS數據爲MSI我收到以下錯誤:每機與用戶配置文件

ICE38: Component CreateFolder installs to user profile. It must use a registry key under HKCU as its KeyPath, not a file. 

這是混淆了我,因爲我有我的項目設置爲每臺計算機安裝,所以根據我的理解,它應該安裝到「C:\ Users \ All Users」或「C:\ Users \ Default」而不是實際的用戶配置文件。我已經嘗試了幾種不同的方法來說它是每臺計算機的安裝,但它們都不起作用。任何想法將不勝感激。我很難過!

爲了讓它成爲每臺機器,我嘗試了這兩個設置(分別),但都沒有工作。

<Property Id="ALLUSERS" Value="2" /> 

<Package InstallScope="perMachine" ... /> 

編輯:代碼CreateFolder

  <Directory Id="AdminToolsFolder" SourceName="Admin Tools"> 
       <Component Id="CreateFolder" Guid="{452A617E-XXXX-XXXX-XXXX-3710802B3BBD}" KeyPath="yes"> 
        <CreateFolder Directory="AdminToolsFolder" /> 
       </Component> 
      </Directory> 
+0

如何指定組件'CreateFolder'?你能發佈XML嗎? – 2010-07-23 11:00:26

+0

對於其他各種組件,我實際上也有相同的錯誤13次。這只是最容易展示的產品或公司名稱:P所有其他都只是捷徑。 – Adkins 2010-07-23 11:06:49

回答

4
+0

因爲這是一個專業的程序,我試圖避免爲了編寫它們而寫註冊表鍵。如果我簡單地忽略ICE,那麼一切正常,沒有問題,但是在它和它之間如果是問題。是否有任何解決這個問題的方法不涉及註冊表鍵或忽略,還是我堅持僅僅挑選兩個惡意中的較小者? – Adkins 2010-07-27 08:18:35

+1

是的,你必須選擇兩個邪惡中的較小者。就我個人而言,我通常使用「快捷方式所需的註冊表項」來跟蹤有關我的產品的一些有用信息。例如UpgradeCode或安裝位置或版本。 – 2010-07-27 14:14:49

0

如果你想創建一個快捷方式,你可以使用Shortcut元素:

<Directory Id="AdminToolsFolder" SourceName="Admin Tools"> 
    <Component Id="MyShortcuts" Guid="<guid value>"> 
    <Shortcut Id="Shortcut_MyAdminTool" Directory="AdminToolsFolder" 
       Name="My Admin Tool" Target="[#AdminTool]" 
       Show="normal" WorkingDirectory="TARGETDIR" /> 
    </Component> 
</Directory> 
+1

根據WiX文檔,它需要在一個組件中,並且該組件需要一個註冊表項(每個用戶),否則會出現相同的錯誤。 http://wix.sourceforge.net/manual-wix2/wix_xsd_shortcut.htm是我正在討論的文檔的鏈接。 – Adkins 2010-07-23 11:18:57

+0

是的,需要一個組件(或文檔中列出的另一個父元素),因爲您在AdminToolsFolder中創建了一個AdminToolsFolder,所以您的示例看起來沒有意義,而應該在那裏創建快捷方式 – 2010-07-23 11:24:40

+0

即使我在那裏創建快捷方式,我得到了同樣的錯誤,任何時候我嘗試在用戶配置文件中創建一個組件都會出現這個錯誤,我真的不知道發生了什麼,就像我說的那樣,它是一個每臺機器的安裝,我得到的每個用戶的錯誤:( – Adkins 2010-07-23 11:26:13

相關問題