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
- :
- CUstom action dialog NOT WORKING!
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
‎Dec 04, 2010
12:14 AM
CUstom action dialog NOT WORKING!
I have to be honest... I get tired of spending over $1000 a year and getting new problems every time I upgrade.
A custom action that has been running for YEARS in previous IS versions, is now having an issue in IS 2011 Pro. NOTHING has changed. Upgraded the old project, built it, new problem.
The action runs, but it is supposed to display a dialog and get a YES/NO from the user then act on it. The dialog never displays and the custom action continues as if NO was chosen. It uses the DialogBox() call with a resource and dialog handled in the custom action dll.
Can anyone tell me what is going on here??????
I have a major release to get out tonight and now because of this IS issue it will be delayed.
A custom action that has been running for YEARS in previous IS versions, is now having an issue in IS 2011 Pro. NOTHING has changed. Upgraded the old project, built it, new problem.
The action runs, but it is supposed to display a dialog and get a YES/NO from the user then act on it. The dialog never displays and the custom action continues as if NO was chosen. It uses the DialogBox() call with a resource and dialog handled in the custom action dll.
Can anyone tell me what is going on here??????
I have a major release to get out tonight and now because of this IS issue it will be delayed.
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 04, 2010
04:09 PM
OK. So I know what is happening... just not WHY!
In my dll I call GetModuleHandle("mydll.dll"). In all versions of IS prior to 2011 this has worked fine! Now I get 0 returned. So I can't load my Dialog resource from the dll.
Anyone know why this is? Or any workaround?
In my dll I call GetModuleHandle("mydll.dll"). In all versions of IS prior to 2011 this has worked fine! Now I get 0 returned. So I can't load my Dialog resource from the dll.
Anyone know why this is? Or any workaround?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 04, 2010
06:47 PM
Also, it appears the DLLMain is never called by Installshield, so I cannot get the instance handle form there either.
This seems utterly ridiculous! What is the secret to using a dialog resource in my custom action dll now that Installshield has messed this up? All I need is the instance handle of the dll...
This seems utterly ridiculous! What is the secret to using a dialog resource in my custom action dll now that Installshield has messed this up? All I need is the instance handle of the dll...
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 04, 2010
09:48 PM
Hi,
What kind of custom action are you using? If you are using a Managed Code custom action, can you check if there are two Sql Connections in your project? If there are, just make sure that the Sql password property across the Sql connections is different.
Thanks!
What kind of custom action are you using? If you are using a Managed Code custom action, can you check if there are two Sql Connections in your project? If there are, just make sure that the Sql password property across the Sql connections is different.
Thanks!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 05, 2010
12:08 AM
Just simply a C++ DLL.
1) IS has NEVER called the DLLMain function when the DLL is loaded, so I can't get the instance handle there.
2) Now IS 2011 has somehow broken things so I can't get the instance handle from a GetModuleHandle call with the dll file name.
I found a round about way to get the instance handle from the base load address of the module... BUT, this is a pretty poor way to have to do it. Especially when it has worked for over 10 years in all other IS versions. Why does IS break the documented ways of doing this? I have to believe that somewhere else in the world someone has displayed a dialog from within a custom action... ????
1) IS has NEVER called the DLLMain function when the DLL is loaded, so I can't get the instance handle there.
2) Now IS 2011 has somehow broken things so I can't get the instance handle from a GetModuleHandle call with the dll file name.
I found a round about way to get the instance handle from the base load address of the module... BUT, this is a pretty poor way to have to do it. Especially when it has worked for over 10 years in all other IS versions. Why does IS break the documented ways of doing this? I have to believe that somewhere else in the world someone has displayed a dialog from within a custom action... ????
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 05, 2010
12:34 AM
Is this perhaps a permissions issue?
Have you moved to Windows 7 or 2008 Server (where you may have been on XP before) on either the IS Build or the target machine?
Have you moved to Windows 7 or 2008 Server (where you may have been on XP before) on either the IS Build or the target machine?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 06, 2010
05:03 PM
Nope. Behaves the same on XP, Vista, 7, etc.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 07, 2010
05:05 AM
Hello jscozz,
I feel with you.
But, please try to put your issue in order.
Write down the way what are you doing:
1. IS calls CA, where is this CA (ISScript or C++ dll)?
2. Where is the new DialogBox? Who calls it?
3. DllMain is calling by LoadLibrary. You do not mantion about it
4. Zip a test project.
I feel with you.
But, please try to put your issue in order.
Write down the way what are you doing:
1. IS calls CA, where is this CA (ISScript or C++ dll)?
2. Where is the new DialogBox? Who calls it?
3. DllMain is calling by LoadLibrary. You do not mantion about it
4. Zip a test project.