valor maximo funciones calculate installer wix

installer - funciones - valor maximo arcgis



¿Cómo creo una propiedad condicional en WiX?(Casi como un If-Then) (3)

El elemento SetProperty se puede usar para cambiar el valor de una propiedad antes o después de una acción. Para establecer un valor basado en el estado de instalación de un archivo ejecutable, utilizaría una combinación de estados de componentes documentados en la sintaxis de instrucciones condicional en MSI SDK . Tendrás que jugar con este ejemplo, pero creo que esto te acercará.

<SetProperty Id="ShowFinalCheckBox" Value="1" After="CostFinalize">?MainExecutableComponent&gt;2 OR $MainExecutableComponent&gt;2</SetProperty>

Toda la magia allí se explica en el enlace al MSI SDK anterior.

Tengo un proyecto de WiX que instala algunos archivos EXE. Uno es el ejecutable ''Principal'' y los otros son programas de apoyo para ayudar a diagnosticar problemas.

El ejecutable principal es opcional y los programas de soporte se ejecutarán por sí mismos. A menudo, el usuario final instalará un programa de terceros en lugar de mi ejecutable principal.

Al final del instalador de WiX, quiero tener una casilla de verificación ''ejecutar programa'' que ejecutará el programa tan pronto como se cierre el instalador.

Puedo ocultar la casilla de verificación basada en la propiedad INSTALLLEVEL, pero eso solo cambia dependiendo de si el usuario seleccionó una instalación ''Típica'' o ''Completa''. Me gustaría ocultarlo en función de si la característica principal ejecutable está instalada o no.

Algo como esto sería ideal:

<Feature Id=''MainProgram'' Title=''MainExe'' Description=''This application stores and displays information from our hardware.'' ConfigurableDirectory=''INSTALLDIR'' Level=''4'' AllowAdvertise=''no''> <ComponentRef Id=''MainExecutable'' /> <ComponentRef Id=''SQLLibrary'' /> <ComponentRef Id=''ProgramIcon'' /> <ComponentRef Id=''RemovePluginsFolder''/> <Property Id=''ShowFinalCheckbox''>1</Property> #<--This won''t work, but I''d like it to. </Feature>



Para WiX 2 puede usar & Feature para averiguar si esa característica está instalada o no:

<Dialog Id="ExitDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes"> <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="Finish"> <Publish Event="EndDialog" Value="Return">1</Publish> <Publish Event="DoAction" Value="LaunchFile">(NOT Installed) AND (LAUNCHPRODUCT = 1) AND (&amp;MainExecutable = 3)</Publish> </Control> <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="Cancel" /> <Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="[DialogBitmap]" /> <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="Back" /> <Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="20" Transparent="yes" NoPrefix="yes"> <Text>Click the Finish button to exit the Wizard.</Text> </Control> <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" /> <Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes"> <Text>{/VerdanaBold13}Completing the [ProductName] Wizard</Text> </Control> <Control Id="Launch" Type="CheckBox" X="135" Y="120" Width="150" Height="17" Property="LAUNCHPRODUCT" CheckBoxValue="1"> <Text>Launch [ProductName]</Text> <Condition Action="hide"> NOT (&amp;MainProgramFeature = 3) </Condition> </Control> </Dialog>

De esta forma, puede ocultar el cuadro de diálogo y usar la misma condición para no iniciar el programa (independientemente del estado inicial de la casilla de verificación).