For 1), use these functions to query the Feature table in the MSI: MsiOpenDatabase() MsiDatabaseOpenView() MsiViewFetch() Close handles as appropriate with MsiCloseHandle().
There are functions in the wix SDK to make this kind of thing a little easier. Bob mentions them here http://www.joyofsetup.com/2007/07/01/semi-custom-actions/ but the wix source is the main source of information on them. -----Original Message----- From: Ondrej Zarevucky [mailto:ondrej.zarevu...@fine.cz] Sent: 12 August 2009 14:43 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] External Installer App with UI quietly controlling MSIinstallation Hi, I'm planning to move all my installation UI from MSI into a Delphi application (because of custom controls, better feature selection presentation, custom driver installation, etc.) and I'm trying to find out, how to enumerate list of features available in the MSI and then how to install only features selected by the user (and optionally to custom folders). In MSDN article "Installing an Application" http://msdn.microsoft.com/en-us/library/aa369508(VS.85).aspx <http://msdn.microsoft.com/en-us/library/aa369508%28VS.85%29.aspx> there are only two steps: 1) call MsiInstallProduct("pathToMsi", "property1=value property2=value") 2) call MsiConfigureProduct("???", INSTALLLEVEL_DEFAULT, INSTALLSTATE_LOCAL) And I'd like to have better control over what is happening during the installation. My problems: 1) How can I get list of available features from the MSI package? (MsiEnumFeatures requires szProduct and not hProduct obtained from MsiOpenPackage) 2) How can I get szProduct parameter for MsiConfigureProduct? For MSI creation I'm using automatically generated GUIDs by WiX. 3) Is there any better way how to set installation parameters then using many properties on the "command line" parameter of MsiInstallProduct? Especially I would like to set the Feature states (about 20 modules x 10 languages) and target directories. 4) How can I implement installation modification? Using MsiConfigureFeature or MsiSetFeatureState? The uninstallation will be completely handled by MSI with no UI. Thank you for any advice Ondrej Zarevucky ------------------------------------------------------------------------ ------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users