Hi Blair thancxz for the information regarding referencing of an Extension Library.., i followed ur advise and my WiX Installer code builds successfully... however whenever i execute the MSI.package the custom action still doesn't get invoked to run a console application in deferred mode.. i understand that the custom action or WiXUtilExtension do not become part of the TARGETDIR.., but CAQuietExec should be included in the MSI Table.
< CustomActionId="Database.Install.Properties.Sql"Property="Database.Install"Value=""[INSTALLDIR]db2mobileSQLPackage.exe"/server:[SERVERNAME]/database:[DATABASENAME]/username:[DBUSERNAME]"Execute="immediate"/> < /password:[PASSWORD]/quiet/makedatabase < The install execute sequence follows: < <InstallExecuteSequence>CustomAction="Database.Install.Properties"After="InstallFiles">$db2mobileSQLPackager.Packages>2</ < AND USEINTEGRATEDSECURITY=0Custom>CustomAction="Database.Install.Properties.Sql"After="Database.Install.Properties">$db2mobileSQLPackager.Packages>2 </ < AND USEINTEGRATEDSECURITY=1Custom>CustomAction="Database.Install"After="Database.Install.Properties.Sql">$db2mobileSQLPackager.Packages>2</ </ Therefore upon execution of the MSI.., the custom action fails to invoke and the installation fails with the followinbg error Warning: There is a problem with this Windows Installer Package, a DLL required for this install to complete could not run.Custom>InstallExecuteSequence>CustomActionId="Database.Install"BinaryKey="WixCA"DllEntry="CAQuietExec"Execute="deferred"Return="check"Impersonate="no"/> RegardsCustomActionId="Database.Install.Properties"Property="Database.Install"Value=""[INSTALLDIR]db2mobileSQLPackage.exe"/server:[SERVERNAME]/database:[DATABASENAME]/quiet/makedatabase"Execute="immediate"/> Kagiso ----- Forwarded Message ---- From: Blair <os...@live.com> To: General discussion for Windows Installer XML toolset. <wix-users@lists.sourceforge.net> Sent: Tue, June 29, 2010 12:52:49 AM Subject: Re: [WiX-users] Fw: EnterpriseSMS Wix Installation One final note of clarification. When mention is made of "referencing" an extension in the WiX toolset, this is what is being referred to: providing either the path or the name (for those extensions in the same directory as the tool and/or in the GAC) of the extension as the parameter to the "-ext" command-line parameter. If you are using MSBuild (aka Votive) you can add a reference to the extension DLL and it will automatically translate the reference to the DLL into the appropriate -ext parameter. Binary tags are used to embed an entire binary into the MSI. The wix extension cannot be used by Windows Installer during installation as the WiX extensions are coded to only be usable by clients of the wix.dll tool file (such as candle.exe, light.exe, etc.) which is only used during build, not install. I haven't ever used MSIFactory, but they must have a way to distinguish between adding extensions and adding custom actions. In the case of the custom actions built into WiX 3.x, you don't add the custom action, although you may need to schedule it and/or otherwise reference it. Also, any tool built on top of WiX must be built for the major version of WiX that it will interface with. Tools built for WiX v2 generally won't work with v3.x, and it is not expected that v3-level tools will directly work with the future v4 of WiX (at least without some edits and recompiling). -----Original Message----- From: Blair [mailto:os...@live.com] Sent: Monday, June 28, 2010 12:00 PM To: 'General discussion for Windows Installer XML toolset.' 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 ------------------------------------------------------------------------------ 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 ------------------------------------------------------------------------------ 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