In case anyone was wondering, it seems MSI does not like the Session.Database object being called from within a VBScript function. So the work around is as follows...
Dim gSessionDatabase, gComboBoxView Set gSessionDatabase = Session.Database Function GetComboBoxView( oSessionDatabase, oProperty ) Set gComboBoxView = oSessionDatabase.OpenView("SELECT * FROM ComboBox WHERE Property = '" & oProperty & "'") gComboBoxView.Execute End Function Function GetProductInstances() GetComboBoxView gSessionDatabase, "PRODUCTINSTANCE" PopulateProductInstanceComboBox gComboBoxView, Session.Property("PRODUCTREGISTRYPATH") End Function So when GetProductInstances() is called, the gSessionDatabase object is instantiated and ready to work. Dominique. -----Original Message----- From: Dominique Louis [mailto:dominique.lo...@amxeurope.com] Sent: 23 October 2009 17:01 To: General discussion for Windows Installer XML toolset. Subject: [WiX-users] CustomAction Session Database Error... Hi all, I'm not sure if this is the best place for this question, so point me in the right direction if it is not. It's basically to do with running a CustomAction that returns a view from the Session Database using VBScript When I this function is called Function GetComboBoxView(oProperty) Dim oView Set oView = Session.Database.OpenView("SELECT * FROM ComboBox WHERE Property = '" & oProperty & "'") oView.Execute GetComboBoxView oView End Function I get the following error message. Microsoft VBScript runtime error: Object doesn't support this property or method Line 4, Column 6. The actually function I call from the CustomAction is as follows.... Function GetProductInstances() PopulateProductInstanceComboBox GetComboBoxView("PRODUCTINSTANCE"), Session.Property("PRODUCTREGISTRYPATH") End Function Function PopulateProductInstanceComboBox( oView, oProductKey ) Dim aProductInstances, intI, rec aProductInstances = ReadRegKeys(HKEY_LOCAL_MACHINE, oProductKey, 32) intI = 0 For Each sProductInstance In aProductInstances If intI = 0 Then ' ' Populates property PRODUCTINSTANCE with the first Product Instance ' Session.Property("PRODUCTINSTANCE") = sProductInstance End If AddItemToComboBox oView, sProductInstance, intI intI = intI + 1 Next ' clean up Set aProductInstances = Nothing End Function Any ideas? Thanks. DOMINIQUE LOUIS | IS DEVELOPER, AMX DIGITAL MEDIA GROUP AMX UK| 6TH FLOOR SALISBURY HOUSE,| LONDON WALL | LONDON | EC2M 5QQ AMX AMX UK Auster Road Clifton Moor York, North Yorkshire United Kingdom YO30 4GD +44 (0) 1904 343100 office +44 (0) 1904 343101 fax AMX South 6th Floor Salisbury House London Wall London United Kingdom EC2M 5QQ +44 (0) 2076 529450 office +44 (0) 8701 991661 fax AMX Belgium Boerenkrijglaan, 96a B-2260 Westerlo Belgium + 32 (0) 1454 2763 office + 32 (0) 1454 2766 fax ###################################################################### Attention: This e-mail message is privileged and confidential. If you are not the intended recipient please delete the message and notify the sender. Any views or opinions presented are solely those of the author. This email was scanned and cleared by NetIQ MailMarshal. ###################################################################### ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users