Adjust that to

    PMSIHANDLE database = MsiGetActiveDatabase(hInstall);
    if (database == 0)
        ; //handle the error somehow and exit

    If (MsiDatabaseOpenView(database, "SELECT 'Data' FROM 'Binary' WHERE
'Name'= 'Hasp'", phView) != ERROR_SUCCESS)
        ; // handle the error somehow and exit


If you're more interested in getting it done quickly then you can use
ExtractBinary from the wix wcautil/dutil libraries. Its mentioned in these
links
Source
http://wix.cvs.sourceforge.net/viewvc/wix/wix/src/ca/wixca/dll/shellexecca.cp
p?hideattic=1&revision=1.4&view=markup&pathrev=MAIN
Example
http://blogs.msdn.com/b/icumove/archive/2009/06/23/custom-action-using-wix-re
ading-from-the-binary-table.aspx


-----Original Message-----
From: Natalie Carr [mailto:natalie.c...@measuresoft.com] 
Sent: 22 November 2012 17:03
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Extract Binary file from MSI C++

Peter,
I know now what you mean:
extern "C" UINT __stdcall InstallDrivers(MSIHANDLE hInstall) {
   MsiGetActiveDatabase(hInstall);
    MsiDatabaseOpenView(hInstall, "SELECT 'Data' FROM 'Binary' WHERE 'Name'
= 'Hasp'", phView);
    MsiRecordReadStream(*phView, 1, szBuffer, &cbBuf);
    CreateFile(szBuffer, GENERIC_WRITE,FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL); }

Debugging throws up no errors it just ends the setup prematurely. 
Kind Regards,

Natalie Carr


-----Original Message-----
From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com]
Sent: Thursday, November 22, 2012 4:54 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Extract Binary file from MSI C++

The argument to MsiDatabaseOpenView should be a handle to a database. That
would be there return value of MsiGetActiveDatabase. MsiGetActiveDatabase
takes and argument of an installation session which is what the custom action
is passed on entry. You've passed and uninitialized database handle to both
calls.

-----Original Message-----
From: Natalie Carr [mailto:natalie.c...@measuresoft.com]
Sent: 22 November 2012 16:35
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Extract Binary file from MSI C++

Hi I am trying to run a custom action to extract a binary file from my WIX
installer, so far I have got this but I know it is not complete but I am not
sure where I am going wrong. I am using a C++ Custom Action and the file is
an exe. Any help would greatly be appreciated.

 

 

MsiGetActiveDatabase(hDatabase);

    MsiDatabaseOpenView(hDatabase, "SELECT 'Data' FROM 'Binary' WHERE 'Name'
= 'Hasp'", phView);

    MsiRecordReadStream(*phView, 1, szBuffer, &cbBuf);

    CreateFile(szBuffer, GENERIC_WRITE,FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);

 

 

 

Kind Regards,

 

Natalie Carr

 

----------------------------------------------------------------------------
-
-
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
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.


----------------------------------------------------------------------------
--
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-----------------------------------------------------------------------------
-
Monitor your physical, virtual and cloud infrastructure from a single web
console. Get in-depth insight into apps, servers, databases, vmware, SAP,
cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to