You set USEINTEGRATEDSECURITY using this control:

<Control Id="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):

<Custom Action="SqlAuthentication" 
After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2 AND 
USEINTEGRATEDSECURITY&lt;&gt;0</Custom>

<Custom Action="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

 

<SetProperty Id="IntegratedSecurity" 
Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"
 

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

 

<SetProperty Id="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>

 

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

 

<CustomAction Id="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>

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

<Custom Action="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>

<TextStyle Id="GUI_Font_Normal" FaceName="Tahoma" Size="8" />

<Property Id="WixUIFont" Value="WixUI_Font_Normal" />

<ProgressText Action="Database.Install">Installing EnterpriseSMS Database 
&quot;[DATABASENAME]&quot;</ProgressText>

 

<Dialog Id="SQLServerPromptingDlg" Width="370" Height="270" 
Title="[ProductName] [Setup]" NoMinimize="yes">

<Control Id="ServerLabel" Type="Text" X="45" Y="73" Width="100" Height="18" 
TabSkip="no" Text="&amp;Server Name:" />

<Control Id="ServerEdit" Type="Edit" X="115" Y="73" Width="220" Height="18" 
Property="SERVERNAME" Text="{80}" />

<Control Id="DatabaseLabel" Type="Text" X="45" Y="98" Width="100" Height="18" 
TabSkip="no" Text="&amp;Database Name:" />

<Control Id="DatabaseEdit" Type="Edit" X="115" Y="98" Width="220" Height="18" 
Property="DATABASENAME" Text="{80}" />

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

<Control Id="UserNameLabel" Type="Text" X="45" Y="148" Width="100" Height="18" 
TabSkip="no" Text="&amp;User Name:" />

<Control Id="UserNameEdit" Type="Edit" X="115" Y="148" Width="110" Height="18" 
Property="DBUSERNAME" Text="{50}">

<Condition Action="disable" >USEINTEGRATEDSECURITY = 1</Condition>

<Condition Action="enable"><![CDATA[USEINTEGRATEDSECURITY <>1]]></Condition>

</Control>

<Control Id="PasswordLabel" Type="Text" X="45" Y="173" Width="100" Height="18" 
TabSkip="no" Text="&amp;Password:" />

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

<Condition Action="disable" >USEINTEGRATEDSECURITY = 1</Condition>

<Condition Action="enable"><![CDATA[USEINTEGRATEDSECURITY <>1]]></Condition>

</Control>

<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" 
Text="&lt;Back">

<Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>

</Control>

<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" 
Default="yes" Text="Next&gt;">

<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 
1</Publish>

<Publish Event='NewDialog' Value='SetupTypeDlg'>1</Publish>

</Control>

<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" 
Cancel="yes" Text="Cancel">

<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>

</Control>

<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" 
TabSkip="no" Text="WixUI_Bmp_Banner" />

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

<Text>Please specify database installation information</Text>

</Control>

<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />

<Control Id="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>

<Control Id="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 <Custom Action="SqlAuthentication" 
After="SetSqlAuthentication">$db2mobileSQLPackager.Packages&gt;2</Custom>

To <Custom Action="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: 

 

<SetProperty Id="IntegratedSecurity" 
Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"
 

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

 

<SetProperty Id="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>

 

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

 

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

 

<InstallExecuteSequence>

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

<Custom Action="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

 

<SetProperty Id="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

<SetProperty Id="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

 

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

<CustomAction Id="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>-->

<Custom Action="IntegratedSecurity" 
After="SetIntegratedSecurity">$db2mobileSQLPackager.Packages&gt;2</Custom>

<Custom Action="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.

 

<SetProperty Id="IntegratedSecurity" 
Value="/username:[DBUSERNAME]/password:[PASSWORD]" After="InstallFiles" 
Sequence="execute">$db2mobileSQLPackager.Packages&gt;2 AND 
USEINTEGRATEDSECURITY=1</SetProperty>

 

<SetProperty Id="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

 

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

<InstallExecuteSequence>

    <Custom Action="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. 

 

<CustomAction Id="Database.Install.Properties" Property="Database.Install" 

Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"
 Execute="immediate"/>

 

<CustomAction Id="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" />

 

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

 

The InstallExecuteSequence which sequences the execution 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>

</InstallExecuteSequence>

 

SQLPackage component described in the Directory tag:

 

 

<Component Id="db2mobileSQLPackager.Packages" 
Guid="9AE25F26-602C-4148-B223-A3FD8AC0AA45">

<File Id="db2mobileSQLPackage" Name="db2mobileSQLPackage.exe" KeyPath="yes" 
Vital="yes" 

DiskId="1" Source="db2mobileSQLPackage.exe" />

<RegistryKey Id='Database.State.Server' Root='HKLM' 
Key='SOFTWARE\EnterpriseSMS' Action='createAndRemoveOnUninstall'>

<RegistryValue Type='string' Name='ServerName' Value='[SERVERNAME]'/>

</RegistryKey>

<RegistryKey Id='Database.State.Database' Root='HKLM' 
Key='SOFTWARE\EnterpriseSMS' Action='createAndRemoveOnUninstall'>

<RegistryValue Type='string' Name='DatabaseName' Value='[DATABASENAME]'/>

</RegistryKey>

<RegistryKey Id='Database.State.Username' Root='HKLM' 
Key='SOFTWARE\EnterpriseSMS' Action='createAndRemoveOnUninstall'>

<RegistryValue Type='string' Name='DBUserName' Value='[DBUSERNAME]'/>

</RegistryKey>

<RegistryKey Id='Database.State.Password' Root='HKLM' 
Key='SOFTWARE\EnterpriseSMS' Action='createAndRemoveOnUninstall'>

<RegistryValue Type='string' Name='Password' Value='[PASSWORD]'/>

</RegistryKey>

<RegistryKey Id='Database.State.Integrated' Root='HKLM' 
Key='SOFTWARE\EnterpriseSMS' Action='createAndRemoveOnUninstall'>

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

</RegistryKey> 

</Component>

 

The following code component is from the <UI> fragment:

 

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

<Control Id="UserNameLabel" Type="Text" X="45" Y="148" Width="100" Height="18" 
TabSkip="no" Text="&amp;User Name:" />

<Control Id="UserNameEdit" Type="Edit" X="115" Y="148" Width="110" Height="18" 
Property="DBUSERNAME" Text="{50}">

<Condition Action="disable" >USEINTEGRATEDSECURITY = 1</Condition>

<Condition Action="enable"><![CDATA[USEINTEGRATEDSECURITY <>1]]></Condition>

</Control>

<Control Id="PasswordLabel" Type="Text" X="45" Y="173" Width="100" Height="18" 
TabSkip="no" Text="&amp;Password:" />

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

<Condition Action="disable" >USEINTEGRATEDSECURITY = 1</Condition>

<Condition Action="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 :

 

<CustomAction Id="Database.Install.Properties" Property="Database.Install" 

Value="&quot;[INSTALLDIR]db2mobileSQLPackage.exe&quot;/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"
 Execute="immediate"/>

<CustomAction Id="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 -->

<!--_______________________________________________________________________________________________________________
 -->

<CustomAction Id="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>

<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>

</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