I'am using WixUI_Mondo
set. I modified "CompleteButton" button in the 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>
When I push ServerButton
the log says:
(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
Levels of Feature1,Feature2,Feature3 are more than 3. Can't figure out why it's passing INSTALLLEVEL="1"
.
UPD:
I made next changes, the result is same. The installer is modifying values of INSTALLLEVEL,ADDLOCAL properties on client-side. On server-side: INSTALLLEVEL=11,ADDLOCAL consists of features with "Level" attribute<=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>
I read this article many times and finally found: i have to publish
Event='AddLocal'
not aProperty
. Thank's, Yan, for your time very much. Here is working code:And I added an event to the "Back" button of the next dialog:
According to the MSDN documentation, the installation level specified by the
INSTALLLEVEL
property can be overridden by a number of properties, includingADDLOCAL
. Hence, as far as I understand it, even ifINSTALLLEVEL
is set to1
, it gets overriden by theADDLOCAL
property and is not taken into consideration by the Windows Installer.If you experience any error or wrong behavior related to this, add more details about it to your question.