2011-03-23 29 views
3

我使用WiX 3.5。我的安裝程序應該啓用每個用戶和每臺機器的安裝。我想通過使用單選按鈕(「每個人」和「只有我」)來實現這一點。在WiX中爲每個用戶或每臺機器安裝環境設置ALLUSERS

我發現一對夫婦在互聯網上引用:

如果我的理解是正確的我安裝程序將ALLUSERS屬性設置爲1,按機器安裝和「」(空字符串)對人員用戶安裝。

我的問題是,無論我嘗試ALLUSERS總是設置爲1.即使我沒有設置它!

這裏有幾件事情我想:

<Control Id="UserSelection" 
     Type="RadioButtonGroup" 
     X="26" 
     Y="115" 
     Width="305" 
     Height="45" 
     Property="ASSISTANCE_USERS" 
     Text="ASSISTANCE_USERS"> 
    <RadioButtonGroup Property="ASSISTANCE_USERS"> 
     <RadioButton Value="cur" 
        X="0" 
        Y="0" 
        Width="295" 
        Height="16" 
        Text="Just me" /> 
     <RadioButton Value="all" 
        X="0" 
        Y="20" 
        Width="295" 
        Height="16" 
        Text="Everyone" /> 
    </RadioButtonGroup> 
</Control> 

,然後根據ASSISTANCE_USERS設置ALLUSERS:

<Publish Property="ALLUSERS" 
      Value="{}">ASSISTANCE_USERS = "cur"</Publish> <!-- set null value --> 
    <Publish Property="ALLUSERS" 
      Value="1">ASSISTANCE_USERS = "all"</Publish> 

然而,ALLUSERS始終爲1

我也嘗試過只需將ALLUSERS設置爲空字符串:

<Property Id="ALLUSERS" Secure="yes"/> 

這應該設置ALLUSERS爲「」,但它保持爲「1」

一旦我能夠設定ALLUSERS,我應該能夠使用HKMU爲每個用戶和每臺機器的製作安裝。

回答

1

檢查詳細日誌(使用/ l * vx):MSI記錄每個屬性更改,以便您可以看到ALLUSERS何時被設置。

+0

嗨鮑勃,這正是我所做的。日誌中只有一行:屬性(C):ALLUSERS = 1 – hammurabi 2011-03-23 21:10:57

+1

然後在您的.msi的屬性表中設置ALLUSERS。你使用Package/@ InstallScope嗎? – 2011-03-24 00:44:31

+0

我只是檢查你[博客](http://www.joyofsetup.com/2008/04/01/new-wix-feature-setting-package-installation-scope/)。我沒有使用Package/@ InstallScope。當我嘗試InstallScope =「perUser」時,我仍然得到ALLUSER = 1。文檔說設置InstallScope =「perMachine」將ALLUSER設置爲1.應該將InstallScope =「perUser」設置ALLUSER爲「」?還有什麼可以將ALLUSERS設置爲1? – hammurabi 2011-03-24 20:48:00

相關問題