我正在使用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>
Run Code Online (Sandbox Code Playgroud)
当我按下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
Run Code Online (Sandbox Code Playgroud)
Feature1,Feature2,Feature3的级别超过3.无法弄清楚它为什么会通过INSTALLLEVEL="1"
.
UPD:
我做了下一个更改,结果是一样的.安装程序正在修改客户端的INSTALLLEVEL,ADDLOCAL属性的值.在服务器端:INSTALLLEVEL = 11,ADDLOCAL由"Level"属性<= 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>
Run Code Online (Sandbox Code Playgroud)
我看了这个文章很多次,终于发现:我必须发布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>
Run Code Online (Sandbox Code Playgroud)
我在下一个对话框的"后退"按钮中添加了一个事件:
<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>
Run Code Online (Sandbox Code Playgroud)