This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- No one uses C++ for Custom Actions anymore?
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 02, 2012
07:48 PM
Custom Actions question
I need to convert 6.3 InstallScript to Basic MSI project. Product is c++ (unmanaged code), so the CA's need to be C++ also. Where can I find a sample\samples of Visual Studio 2008 C++ dll's, with InstallShield custom actions in them. I know some C++, but I don't know what I have to put in them for access to the msi Db, properties, writting to log, etc. Thanks
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 04, 2012
01:16 PM
No one uses C++ for Custom Actions anymore?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 04, 2012
04:52 PM
A basic MSI project needs DLL custom action functions with prototype:
The hInstall argument (whatever you passed to the custom action function) is a handle that gives you access to MSI functionality, through MsiGetProperty and so on. See >>this<< for information about writing Windows Installer DLL's, and >>this<
UINT __stdcall FunctionName(MSIHANDLE hInstall)
{
// ... etc. ...
}
The hInstall argument (whatever you passed to the custom action function) is a handle that gives you access to MSI functionality, through MsiGetProperty and so on. See >>this<< for information about writing Windows Installer DLL's, and >>this<
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 11, 2012
06:35 PM
Thank you. I was trying to get to http://www.flexerasoftware.com/webdocuments/, to see what else is there, but I was not successful. How do I get there?
![](/skins/images/8CE4FAD0DE6F3A6F9D0567434D2D2DAE/responsive_peak/images/icon_anonymous_message.png)