Fantastic.., the invocation of the Custom Action happens no matter we use 
Windows Authenticaion [USEINTEGRATEDSECURITY=1] or SQL Server Authentication 
[USEINTEGRATEDSECURITY=0]... wonderful the EnterpriseSMS Installer Package 
works 
like a charm

Regards
Kagiso
P.S Correspondence information regarding the SetProperty Tag can be found below:



----- Forwarded Message ----
From: Blair Murri <blairlmu...@msn.com>
To: Kagiso Seboni <kagisoseb...@yahoo.com>
Cc: wix-users sourceforge <wix-users@lists.sourceforge.net>
Sent: Tue, July 6, 2010 6:37:32 AM
Subject: RE: [USEINTEGRATEDSECURITY] EnterpriseSMS Wix Installation


You set USEINTEGRATEDSECURITY using this control:
<ControlId="IntegratedSecurityCheckBox"Type="CheckBox"X="45"Y="123"Text="Use 
Integrated 
Security"Property="USEINTEGRATEDSECURITY"Width="200"Height="15"CheckBoxValue="1"/>

When using a checkbox to set a property to a value, the checkbox will be set 
when the value is the value indicated, and the box will set the property to 
that 
value when the dialog is closed/a new dialog is opened. If the checkbox is not 
selected when the dialog moves on, the property will be cleared.
 
Thus, you need one of these two (take your pick):
<CustomAction="SqlAuthentication"After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY&lt;&gt;0</Custom>
<CustomAction="SqlAuthentication"After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2
 AND NOT USEINTEGRATEDSECURITY</Custom>
The first one would be more “reliable” as some naïve person who passes the 
variable via the command-line may attempt to set the value to 0, so I recommend 
the first one.
 
A verbose log would show you the final value of each property defined in the 
transaction. There you would be able to see if USEINTEGRATEDSECURITY had the 
value of 0 or no value at all.
 
Unlike many other programming languages, a cleared variable in Windows 
Installer 
is NOT the same as the value 0.
 
From:Kagiso Seboni [mailto:kagisoseb...@yahoo.com] 
Sent: Monday, July 05, 2010 12:14 PM
To: Blair Murri
Cc: wix-users sourceforge
Subject: Re: [USEINTEGRATEDSECURITY] EnterpriseSMS Wix Installation
 
My Gosh..@
 
I've tried various sequencing permutations and changing the timing of Custom 
Action invocation but to no avail....even the changes you'd recommended only 
reverse the situation whereby when USEINTEGRATEDSECURITY=1 the custom action 
begins the console applications but fails whenever USEINTEGRATEDSECURITY=0
 
<SetPropertyId="IntegratedSecurity"Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"

After="InstallFiles"Sequence="execute">$db2mobileSQLPackager.Packages&gt;2</SetProperty>

 
<SetPropertyId="SqlAuthentication"Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/username:[DBUSERNAME]/password:[PASSWORD]/quiet/makedatabase"

After="InstallFiles"Sequence="execute">$db2mobileSQLPackager.Packages&gt;2</SetProperty>

 
<CustomActionId="IntegratedSecurity"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

 
<CustomActionId="SqlAuthentication"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

 
These are the recommended changes to the "SqlAuthentication".., but i still 
cannot get the same custom action to get invoked, notwithstanding the Execution 
path selected as per the value of USEINTEGRATEDSECURITY=0 or 1
 
<InstallExecuteSequence>
<CustomAction="IntegratedSecurity"After="SetIntegratedSecurity">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=1</Custom>
<CustomAction="SqlAuthentication"After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=0</Custom>
</InstallExecuteSequence>
 
Let me just follow up this request for assistance with details of the UI code 
that chooses the values relating to USEINTEGRATEDSECURITY:
 
<Fragment>
<UI>
<TextStyleId="GUI_Font_Normal"FaceName="Tahoma"Size="8"/>
<PropertyId="WixUIFont"Value="WixUI_Font_Normal"/>
<ProgressTextAction="Database.Install">Installing EnterpriseSMS Database 
&quot;[DATABASENAME]&quot;</ProgressText>
 
<DialogId="SQLServerPromptingDlg"Width="370"Height="270"Title="[ProductName] 
[Setup]"NoMinimize="yes">
<ControlId="ServerLabel"Type="Text"X="45"Y="73"Width="100"Height="18"TabSkip="no"Text="&amp;Server
 Name:"/>
<ControlId="ServerEdit"Type="Edit"X="115"Y="73"Width="220"Height="18"Property="SERVERNAME"Text="{80}"/>

<ControlId="DatabaseLabel"Type="Text"X="45"Y="98"Width="100"Height="18"TabSkip="no"Text="&amp;Database
 Name:"/>
<ControlId="DatabaseEdit"Type="Edit"X="115"Y="98"Width="220"Height="18"Property="DATABASENAME"Text="{80}"/>

<ControlId="IntegratedSecurityCheckBox"Type="CheckBox"X="45"Y="123"Text="Use 
Integrated 
Security"Property="USEINTEGRATEDSECURITY"Width="200"Height="15"CheckBoxValue="1"/>

<ControlId="UserNameLabel"Type="Text"X="45"Y="148"Width="100"Height="18"TabSkip="no"Text="&amp;User
 Name:"/>
<ControlId="UserNameEdit"Type="Edit"X="115"Y="148"Width="110"Height="18"Property="DBUSERNAME"Text="{50}">

<ConditionAction="disable">USEINTEGRATEDSECURITY = 1</Condition>
<ConditionAction="enable"><![CDATA[USEINTEGRATEDSECURITY <>1]]></Condition>
</Control>
<ControlId="PasswordLabel"Type="Text"X="45"Y="173"Width="100"Height="18"TabSkip="no"Text="&amp;Password:"/>

<ControlId="PasswordEdit"Type="Edit"X="115"Y="173"Width="110"Height="18"Property="PASSWORD"Password="no"Text="{50}">

<ConditionAction="disable">USEINTEGRATEDSECURITY = 1</Condition>
<ConditionAction="enable"><![CDATA[USEINTEGRATEDSECURITY <>1]]></Condition>
</Control>
<ControlId="Back"Type="PushButton"X="180"Y="243"Width="56"Height="17"Text="&lt;Back">

<PublishEvent="NewDialog"Value="LicenseAgreementDlg">1</Publish>
</Control>
<ControlId="Next"Type="PushButton"X="236"Y="243"Width="56"Height="17"Default="yes"Text="Next&gt;">

<PublishEvent="SpawnWaitDialog"Value="WaitForCostingDlg">CostingComplete = 
1</Publish>
<PublishEvent='NewDialog'Value='SetupTypeDlg'>1</Publish>
</Control>
<ControlId="Cancel"Type="PushButton"X="304"Y="243"Width="56"Height="17"Cancel="yes"Text="Cancel">

<PublishEvent="SpawnDialog"Value="CancelDlg">1</Publish>
</Control>
<ControlId="BannerBitmap"Type="Bitmap"X="0"Y="0"Width="370"Height="44"TabSkip="no"Text="WixUI_Bmp_Banner"/>

<ControlId="Description"Type="Text"X="25"Y="23"Width="280"Height="15"Transparent="yes"NoPrefix="yes">

<Text>Please specify database installation information</Text>
</Control>
<ControlId="BottomLine"Type="Line"X="0"Y="234"Width="370"Height="0"/>
<ControlId="Title"Type="Text"X="15"Y="6"Width="200"Height="15"Transparent="yes"NoPrefix="yes">

<Text><![CDATA[{\WixUI_Font_Title}SQL Server Information]]></Text>
</Control>
<ControlId="BannerLine"Type="Line"X="0"Y="44"Width="370"Height="0"/>
</Dialog>
</UI> 
</Fragment>
 
Really appreciate your insight into WiX.., i have learnt so much from my 
correspondence with you i'm really having sleepless nights just getting the 
EnterpriseSMS Installer to work 100%
 
HoLLa
Kagiso
 
 

________________________________

From:Blair Murri <blairlmu...@msn.com>
To: Kagiso Seboni <kagisoseb...@yahoo.com>
Cc: Blair wix-users <os...@live.com>
Sent: Mon, July 5, 2010 5:20:01 PM
Subject: RE: [WiX-users] Fw: EnterpriseSMS Wix Installation
Change 
<CustomAction="SqlAuthentication"After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2</Custom>

To 
<CustomAction="SqlAuthentication"After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=0</Custom>
From:Kagiso Seboni [mailto:kagisoseb...@yahoo.com] 
Sent: Monday, July 05, 2010 5:19 AM
To: blairlmu...@msn.com
Cc: Blair wix-users
Subject: Re: [WiX-users] Fw: EnterpriseSMS Wix Installation
 
However after fiddling around with the timing of my sequencing i was able to 
make the invocation of the custom action in both scenarios when 
USEINTEGRATEDSECURITY=0/1:
 
But one functional error arising is that wen i run the Installer with 
USEINTEGRATEDSECURITY=1
the custom action get invoked twice instead on once: 
 
<SetPropertyId="IntegratedSecurity"Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"

After="InstallFiles"Sequence="execute">$db2mobileSQLPackager.Packages&gt;2</SetProperty>

 
<SetPropertyId="SqlAuthentication"Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/username:[DBUSERNAME]/password:[PASSWORD]/quiet/makedatabase"

After="InstallFiles"Sequence="execute">$db2mobileSQLPackager.Packages&gt;2</SetProperty>

 
<CustomActionId="IntegratedSecurity"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

 
<CustomActionId="SqlAuthentication"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

 
<InstallExecuteSequence>
<CustomAction="IntegratedSecurity"After="SetIntegratedSecurity">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=1</Custom>
<CustomAction="SqlAuthentication"After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2</Custom>

</InstallExecuteSequence>
 
I would like to rectify the sequencing so as to invoke the CAQuietExec Custom 
Action only once when running IntegratedSecurity
 
thancxz
Kagiso
 
 

________________________________

From:Kagiso Seboni <kagisoseb...@yahoo.com>
To: blairlmu...@msn.com
Sent: Mon, July 5, 2010 12:49:01 PM
Subject: Fw: [WiX-users] Fw: EnterpriseSMS Wix Installation

________________________________

From:Kagiso Seboni <kagisoseb...@yahoo.com>
To: Blair <os...@live.com>
Sent: Mon, July 5, 2010 12:42:11 PM
Subject: Re: [WiX-users] Fw: EnterpriseSMS Wix Installation
1. For clarification db2mobileSQLPackage.exe can be invoked in two kind of ways 
1st with the servername:[SERVERNAME] and databasename:[DATABASENAME] properties 
set for Windows Authentication whenever USEINTEGRATEDSECURITY=1 which is 
checked 
from the UI
 
<SetPropertyId="IntegratedSecurity"Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"

After="InstallFiles"Sequence="execute">$db2mobileSQLPackager.Packages&gt;2 AND 
USEINTEGRATEDSECURITY=1</SetProperty>
 
2. 2nd db2mobileSQLPackage.exe can be invoked 
servername:[SERVERNAME], databasename:[DATABASENAME], username:[DBUSERNAME] and 
password:[PASSWORD] properties set for typical SQL Severve Authentication 
whenever USEINTEGRATEDSECURITY=0 which is unchecked from the UI
<SetPropertyId="SqlAuthentication"Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/username:[DBUSERNAME]/password:[PASSWORD]/quiet/makedatabase"

After="InstallFiles"Sequence="execute">$db2mobileSQLPackager.Packages&gt;2 AND 
USEINTEGRATEDSECURITY=0</SetProperty>
 
The object now would be to create 2 independent Custom Actions which will get 
executed depending on the value of USEINTEGRATEDSECURITY
 
<CustomActionId="IntegratedSecurity"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

<CustomActionId="SqlAuthentication"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

 
Similarly the InstallExecuteSequence for the actually invocation of my custom 
actions:
 
<InstallExecuteSequence>
<!--<Custom Action="Database.Install.Properties" 
After="InstallFiles">$db2mobileSQLPackager.Packages&gt;2 </Custom>
<Custom Action="Database.Install.Properties.Sql" 
After="Database.Install.Properties">$db2mobileSQLPackager.Packages&gt;2 AND 
USEINTEGRATEDSECURITY=0</Custom>
<Custom Action="Database.Install" 
After="Database.Install.Properties.Sql">$db2mobileSQLPackager.Packages&gt;2 AND 
USEINTEGRATEDSECURITY=1</Custom>-->
<CustomAction="IntegratedSecurity"After="SetIntegratedSecurity">$db2mobileSQLPackager.Packages&gt;2</Custom>

<CustomAction="SqlAuthentication"After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2</Custom>

</InstallExecuteSequence>
 
This sequencing compiles with no errors.., for if i follow your example and 
Unresolved Reference to Symbol
'Custom Action : InstallExecuteSequence/SetIntegratedSecurity' ensues
 
Regards
Kagiso
 
If that is indeed the case I have two ideas, one similar to what you have done, 
and the other may appear easier to understand. I will present the second.
 
<SetPropertyId="IntegratedSecurity"Value="/username:[DBUSERNAME]/password:[PASSWORD]"After="InstallFiles"
 Sequence="execute">$db2mobileSQLPackager.Packages&gt;2 AND 
USEINTEGRATEDSECURITY=1</SetProperty>
 
<SetPropertyId="Database.Install"Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME][IntegratedSecurity]/quiet/makedatabase"After="SetIntegratedSecurity"
 Sequence="execute">$db2mobileSQLPackager.Packages&gt;2</SetProperty>
 
ERROR LIST: Unresolved Reference to symbol 'CustomAction: 
InstallExecuteSequence/SetIntegratedSecurity
 
<CustomActionId="Database.Install"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

<InstallExecuteSequence>
    
<CustomAction="Database.Install"After="SetDatabase.Install">$db2mobileSQLPackager.Packages&gt;2</Custom>

</InstallExecuteSequence>
 
From:Kagiso Seboni [mailto:kagisoseb...@yahoo.com] 
Sent: Friday, July 02, 2010 4:21 AM
To: Blair
Subject: Re: [WiX-users] Fw: EnterpriseSMS Wix Installation
 
The purpose of having 2 custom actions using the same property is because of 
SQLPackage component that can take [ServerName] and [DatabaseName] or 
alternatively:
 
[Servername] , [DatabaseName], [DBUserName]  and [Password] properties.... but 
either execution path requires the CAQuietExec Custom Action. 
 
<CustomActionId="Database.Install.Properties"Property="Database.Install"
Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"Execute="immediate"/>

 
<CustomActionId="Database.Install.Properties.Sql"Property="Database.Install"
Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/username:[DBUSERNAME]/password:[PASSWORD]/quiet/makedatabase"Execute="immediate"/>

 
<CustomActionId="Database.Install"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

 
The InstallExecuteSequence which sequences the execution of my Custom Actions:
 
 
<InstallExecuteSequence>
<CustomAction="Database.Install.Properties"After="InstallFiles">$db2mobileSQLPackager.Packages&gt;2
 </Custom>
<CustomAction="Database.Install.Properties.Sql"After="Database.Install.Properties">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=0</Custom>
<CustomAction="Database.Install"After="Database.Install.Properties.Sql">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=1</Custom>
</InstallExecuteSequence>
 
SQLPackage component described in the Directory tag:
 
 
<ComponentId="db2mobileSQLPackager.Packages"Guid="9AE25F26-602C-4148-B223-A3FD8AC0AA45">

<FileId="db2mobileSQLPackage"Name="db2mobileSQLPackage.exe"KeyPath="yes"Vital="yes"

DiskId="1"Source="db2mobileSQLPackage.exe"/>
<RegistryKeyId='Database.State.Server'Root='HKLM'Key='SOFTWARE\EnterpriseSMS'Action='createAndRemoveOnUninstall'>

<RegistryValueType='string'Name='ServerName'Value='[SERVERNAME]'/>
</RegistryKey>
<RegistryKeyId='Database.State.Database'Root='HKLM'Key='SOFTWARE\EnterpriseSMS'Action='createAndRemoveOnUninstall'>

<RegistryValueType='string'Name='DatabaseName'Value='[DATABASENAME]'/>
</RegistryKey>
<RegistryKeyId='Database.State.Username'Root='HKLM'Key='SOFTWARE\EnterpriseSMS'Action='createAndRemoveOnUninstall'>

<RegistryValueType='string'Name='DBUserName'Value='[DBUSERNAME]'/>
</RegistryKey>
<RegistryKeyId='Database.State.Password'Root='HKLM'Key='SOFTWARE\EnterpriseSMS'Action='createAndRemoveOnUninstall'>

<RegistryValueType='string'Name='Password'Value='[PASSWORD]'/>
</RegistryKey>
<RegistryKeyId='Database.State.Integrated'Root='HKLM'Key='SOFTWARE\EnterpriseSMS'Action='createAndRemoveOnUninstall'>

<RegistryValueType='string'Name='IntegratedSecurity'Value='[USEINTEGRATEDSECURITY]'/>

</RegistryKey> 
</Component>
 
The following code component is from the <UI> fragment:
 
<ControlId="IntegratedSecurityCheckBox"Type="CheckBox"X="45"Y="123"Text="Use 
Integrated 
Security"Property="USEINTEGRATEDSECURITY"Width="200"Height="15"CheckBoxValue="1"/>

<ControlId="UserNameLabel"Type="Text"X="45"Y="148"Width="100"Height="18"TabSkip="no"Text="&amp;User
 Name:"/>
<ControlId="UserNameEdit"Type="Edit"X="115"Y="148"Width="110"Height="18"Property="DBUSERNAME"Text="{50}">

<ConditionAction="disable">USEINTEGRATEDSECURITY = 1</Condition>
<ConditionAction="enable"><![CDATA[USEINTEGRATEDSECURITY <>1]]></Condition>
</Control>
<ControlId="PasswordLabel"Type="Text"X="45"Y="173"Width="100"Height="18"TabSkip="no"Text="&amp;Password:"/>

<ControlId="PasswordEdit"Type="Edit"X="115"Y="173"Width="110"Height="18"Property="PASSWORD"Password="no"Text="{50}">

<ConditionAction="disable">USEINTEGRATEDSECURITY = 1</Condition>
<ConditionAction="enable"><![CDATA[USEINTEGRATEDSECURITY <>1]]></Condition>
</Control>
 
The objective is to get both custom actions to execute notwithstanding 
whichever 
combination of Windows Authentication or SQLServer Authentication properties.:
 
Appreciate ur Help
Kagiso
 
 

________________________________

From:Blair <os...@live.com>
To: Kagiso Seboni <kagisoseb...@yahoo.com>
Sent: Fri, July 2, 2010 9:54:07 AM
Subject: RE: [WiX-users] Fw: EnterpriseSMS Wix Installation
You appear to have two actions that set properties, and yet only one action 
that 
calls an executable. There is a reason I used <SetProperty> instead of 
<CustomAction> elements in the example I sent you. <SetProperty> creates 
property-setting custom actions and sets their scheduling all in one tag. 
<CustomAction> elements require corresponding <Custom> elements to schedule 
them, and thus tend to be more verbose overall (too many tags for the actions 
you are trying to use).
 
Also, you test the USEINTEGRATEDSECURITY property in your conditions. What 
exactly is your aim with these two command-lines? Are the two different 
command-lines intended to be mutually exclusive?
 
If they are to be mutually exclusive, then it makes sense to have two 
property-setting CAs and only one CAQuietExec CA. However, if that is the case, 
you have several problems with your conditions WRT the USEINTEGRATEDSECURITY 
property and the command-line-related property you are setting to pass to that 
CA.
 
Please explain.
 
From:Kagiso Seboni [mailto:kagisoseb...@yahoo.com] 
Sent: Thursday, July 01, 2010 11:57 PM
To: Blair
Subject: Re: [WiX-users] Fw: EnterpriseSMS Wix Installation
 
HoLLa Blair
 
Your insight was very helpful in being able to use custom actions with my WiX 
Installer MSI Package. To actually test invocation of custom actions one would 
need to run the realease version of the package.msi.....
 
I've created the following custom actions below, but now only the one custom 
action is invoked this one fails to be invoked:
Database.Install.Properties.Sql"After="Database.Install.Properties">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=0</Custom> from the InstallExecuteSequence and the 
other fails to get started :
 
<CustomActionId="Database.Install.Properties"Property="Database.Install"
Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"Execute="immediate"/>

<CustomActionId="Database.Install.Properties.Sql"Property="Database.Install2"
Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/username:[DBUSERNAME]/password:[PASSWORD]/quiet/makedatabase"Execute="immediate"/>

<!--_______________________________________________________________________________________________________________
 -->
<!--Note: QtExec custom action allows you to run an arbitrary command line in 
an 
MSI-based setup in silent mode. -->
<!--QtExec is commonly used to suppress console windows that would otherwise 
appear appear when invoking -->
<!--the executable directly. The custom action is located in the WixCA library, 
which is a part of the -->
<!--WixUtilExtension -->
<!--_______________________________________________________________________________________________________________
 -->
<CustomActionId="Database.Install"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/>

<!--____________________________________________________________________________________________________________
 -->
<!--Our custom tasks run in the InstallExecuteSequence, the following install 
and uninstall conditions included -->
<!--(componentname=2 means to run only on uninstall) vs (componentname&gt;2 
means to run only on install) -->
<!--____________________________________________________________________________________________________________
 -->
<InstallExecuteSequence>
<CustomAction="Database.Install.Properties"After="InstallFiles">$db2mobileSQLPackager.Packages&gt;2
 </Custom>
<CustomAction="Database.Install.Properties.Sql"After="Database.Install.Properties">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=0</Custom>
<CustomAction="Database.Install"After="Database.Install.Properties.Sql">$db2mobileSQLPackager.Packages&gt;2
 AND USEINTEGRATEDSECURITY=1</Custom>
</InstallExecuteSequence>
 
 

________________________________

From:Blair <os...@live.com>
To: General discussion for Windows Installer XML toolset. 
<wix-users@lists.sourceforge.net>
Cc: Kagiso Seboni <kagisoseb...@yahoo.com>
Sent: Mon, June 28, 2010 8:59:35 PM
Subject: RE: [WiX-users] Fw: EnterpriseSMS Wix Installation
What happens in 3.x as compared to 2.0 is the following: the extension DLLs 
contain, as .net embedded resources, a “bound” wixlib that itself contains the 
<Binary> tags referring to the CA DLL(s) which are further bound inside of the 
wixlib itself. Simply by referencing the embedded Binary tag the fragment from 
the embedded wixlib that contains the <Binary> is included in your linking 
which 
places the DLL into the MSIs Binary table, from which it is then made available 
for your use during installation and maintenance transactions. The extension 
dll 
itself can’t be used during transactions, only during the build.
 
It should not be necessary to write your own <Binary> element to use any of the 
WiX-supplied extensions. At most, a <BinaryRef> would be appropriate, but only 
if/when the instructions for that extension indicate that is needed.
 
Here are the instructions for using the QAQuietExec supplied with 3.x: 
http://wix.sourceforge.net/manual-wix3/qtexec.htm. Remember that casing is 
significant in Windows Installer (and that includes WiX).
 
When upgrading from 2.0 to 3.x, you should be able to use the WixCop.exe 
utility 
supplied in the toolset to help you transition the schema changes along with 
some of the structural changes such as this one.
 
We feel it is more convenient to have just one WiX extension DLL that 
“contains” 
everything needed for its consumption, instead of the trifecta of extension 
dll, 
ca dll, and wixlib that was required to be present during builds in 2.0. This 
feature also makes distribution of third-party extension dlls easier (although 
it requires more build-knowledge) for the 3.x toolset vs. the 2.0 experience. 
It 
also makes the toolset more stable because the extension dll’s code can depend 
on knowing that the ca and wixlib are always present and haven’t likely been 
corrupted or lost.
 
If you are using tutorials or example code designed for 2.0, you will need to 
upgrade those examples.
 
From:Kagiso Seboni [mailto:kagisoseb...@yahoo.com] 
Sent: Monday, June 28, 2010 11:10 AM
To: Blair
Subject: Re: [WiX-users] Fw: EnterpriseSMS Wix Installation
 
Basically i cannot find the wixca.dll anywhere on the hard disk even upon 
successful installation of the Windows Installer XML v3.5
 
This is the report you'd requested: which includes some of the compilation 
errors i've been getting whenever trying the specify the path to the binary 
file 
wixca.dll which is apparently part of the WixUtilExtension.dll
 
<report-redacted-due-to-verbosity/>


      
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to