3

我正在使用WixUI_Mondo集合。我修改了“CompleteButton”按钮SetupTypeDlg

<Control Id="ServerButton" Type="PushButton" X="40" Y="120" Width="80" Height="17" ToolTip="!(loc.SetupTypeDlgServerButtonTooltip)" Text="!(loc.SetupTypeDlgServerButton)">
   <Publish Property="WixUI_InstallMode" Value="InstallServer">1</Publish>                  
   <Publish Property="SERVICE" Value="[SERVSTR]">1</Publish>
   <Publish Property="ADDLOCAL" Value="Feature1,Feature2,Feature3">1</Publish>
</Control>

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

当我推送ServerButton日志时说:

(CLIENT)     MSI (c) (1C:88) [15:28:49:154]: PROPERTY CHANGE: Adding ADDLOCAL property. Its value is 'Feature1,Feature2,Feature3'. 
(UNKNOWN)     Действие 15:28:49: ServStrDlg. Dialog created 
(UNKNOWN)     Действие 15:28:53: ShortsDlg. Dialog created 
(UNKNOWN)     Действие 15:28:55: VerifyReadyDlg. Dialog created 
(CLIENT)     MSI (c) (1C:88) [15:28:55:966]: Note: 1: 2727 2: 
(UNKNOWN)     Действие закончено 15:28:56: WelcomeDlg. Код возврата 1. 
(CLIENT)     MSI (c) (1C:DC) [15:28:56:076]: Doing action: ProgressDlg 
(UNKNOWN)     Действие 15:28:56: ProgressDlg. 
(UNKNOWN)     Начало действия 15:28:56: ProgressDlg. 
(UNKNOWN)     Действие 15:28:56: ProgressDlg. Dialog created 
(UNKNOWN)     Действие закончено 15:28:56: ProgressDlg. Код возврата 1. 
(CLIENT)     MSI (c) (1C:DC) [15:28:56:091]: Doing action: ExecuteAction 
(UNKNOWN)     Действие 15:28:56: ExecuteAction. 
(UNKNOWN)     Начало действия 15:28:56: ExecuteAction. 
(CLIENT)     MSI (c) (1C:DC) [15:28:56:091]: PROPERTY CHANGE: Adding SECONDSEQUENCE property. Its value is '1'. 
(CLIENT)     MSI (c) (1C:DC) [15:28:56:091]: Grabbed execution mutex. 
(CLIENT)     MSI (c) (1C:DC) [15:28:56:091]: Incrementing counter to disable shutdown. Counter after increment: 0 
(CLIENT)     MSI (c) (1C:DC) [15:28:56:091]: Switching to server: NETFRAMEWORK40CLIENT="#1"INSTALLLOCATION="some dir" TARGETDIR="C:\"
 MANUFACTURERDIR="C:\Program Files\..\" CURRENTDIRECTORY="C:\.." CLIENTUILEVEL="0" CLIENTPROCESSID="6684" USERNAME="User" COMPANYNAME=".."
 SOURCEDIR=".." ACTION="INSTALL" EXECUTEACTION="INSTALL" SECONDSEQUENCE="1" ROOTDRIVE="C:\" INSTALLLEVEL="1" ADDLOCAL=Feature4,Feature5,Feature6 

Feature1,Feature2,Feature3的级别超过3。无法弄清楚它为什么会通过INSTALLLEVEL="1"

升级版:

我做了下一个更改,结果是一样的。安装程序正在客户端修改 INSTALLLEVEL、ADDLOCAL 属性的值。在服务器端:INSTALLLEVEL=11,ADDLOCAL 由“级别”属性<=11 的特征组成。

<Control Id="ServerButton" Type="PushButton" X="40" Y="120" Width="80" Height="17" ToolTip="!(loc.SetupTypeDlgServerButtonTooltip)" Text="!(loc.SetupTypeDlgServerButton)">
   <Publish Property="WixUI_InstallMode" Value="InstallServer">1</Publish> 
   <Publish Event="SetInstallLevel" Value="11">1</Publish>                 
   <Publish Property="SERVICE" Value="[SERVSTR]">1</Publish>
   <Publish Property="ADDLOCAL" Value="Feature1,Feature2,Feature3">1</Publish>
</Control>
4

2 回答 2

5

这篇文章我看了很多遍,终于发现:我要发布Event='AddLocal'的不是Property. 非常感谢 Yan,您抽出宝贵的时间。这是工作代码:

<Control Id="ServerButton" Type="PushButton" X="40" Y="120" Width="80" Height="17" ToolTip="!(loc.SetupTypeDlgServerButtonTooltip)" Text="!(loc.SetupTypeDlgServerButton)">
   <Publish Property="WixUI_InstallMode" Value="InstallServer">1</Publish>                  
   <Publish Property="SERVICE" Value="[SERVSTR]">1</Publish>
   <Publish Event="AddLocal" Value="ALL">1</Publish>
   <Publish Event="Remove" Value="Feature4">1</Publish>
   <Publish Event="Remove" Value="Feature5">1</Publish> 
   <Publish Event="Remove" Value="Feature6">1</Publish>
</Control>

我在下一个对话框的“返回”按钮中添加了一个事件:

<Control Id="Back" Type="PushButton" X="192" Y="243" Width="56" Height="17" Text="!(loc.WixUIBack)">
   <Publish Event="SetInstallLevel" Value="3">WixUI_InstallMode="InstallServer"</Publish>
</Control>
于 2012-08-02T05:23:31.093 回答
4

根据MSDN 文档,该INSTALLLEVEL属性指定的安装级别可以被许多属性覆盖,包括ADDLOCAL. 因此,据我了解,即使INSTALLLEVEL设置为1,它也会被属性覆盖,ADDLOCALWindows Installer 不会考虑它。

如果您遇到与此相关的任何错误或错误行为,请在您的问题中添加更多详细信息。

于 2012-08-01T06:04:59.607 回答