2017-05-02 136 views
0

我創建了一個WiX安裝程序MSI。當我運行msi時,在UI中要求安裝路徑。目前它加載包含大部分可用空間的驅動器。我怎樣才能將它設置在程序文件夾中?我嘗試了下面的一行,但沒有奏效。如何將ui中的WiX Msi安裝路徑的默認值設置爲Program Files?

<Property Id="WIXUI_INSTALLDIR" Value="C:\\Program Files\" /> 

下面是我得到的上述元素的錯誤。

The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2343. The arguments are: , , 

我該如何使用戶界面始終加載C:\ Program Files作爲默認位置?任何幫助將非常感激。

回答

2

您想要使用已定義的windows installer properties,它們總是由Windows安裝程序定義的(警告某些64位屬性)。在這種情況下,特別是使用這樣的目錄定義ProgramFilesFolder

嘗試:

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Fragment> 
     <Directory Id="TARGETDIR" Name="SourceDir"> 
      <Directory Id="ProgramFilesFolder"> 
       <Directory Id="INSTALLDIR" Name="MyProductFolder" /> 
      </Directory> 
     </Directory> 
    </Fragment> 
</Wix> 

,然後按照同樣的本金,因爲這快速教程網頁約using WixUI_InstallDir

你會想要做

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> 

現在,當您顯示允許您更改安裝位置的UI頁面時,它應該具有C:\Program File\MyProductFolder

作爲一個側面說明,我會避免安裝位置只是 C:\ Program Files文件,因爲這可能會導致你一噸的多餘文件添加到這個位置,他們應該不是包含在產品/程序文件夾。

你也不應該嘗試硬編碼像「C:\ Program Files \」這樣的路徑。在這個特定的情況下,我可以給你兩個快速的例子,爲什麼不去。不能保證用戶使用C:\驅動器作爲他們的主驅動器,或者甚至完全使用C:\驅動器(這個here的一個軼事)。另一個問題是(對於32位安裝)在32位機器上,您需要安裝到Program Files位置,但在64位機器上,您需要安裝到「Program Files(x86)」位置。

相關問題