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
- :
- Re: MSI Installer fails on Vista due to UAC.
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
‎Nov 03, 2008
01:28 AM
MSI Installer fails on Vista due to UAC.
Hi,
I have a Basic MSI Installer that also contains a Merge Module project. I created .msi installer and try to install on Vista 64 bit platform and I see some strange behaviors on Vista. When UAC is disabled, I can install and everything works. But if UAC is enabled Installer does not behave as expected (it does not fail but it does not install driver files).
When i converted this .msi installer into .exe installer then it works fine. But problem is one of my clients wants .msi installer.
When i try to go into the problem i found that one of custom action in MSM is causing the problem. This custom action calls a function in my custom dll. This DLL function calls SetupDiCreateDeviceInfo API in WINDDK. It looks this function tries to write some entries in registry section but fails to do so. My custom action is of type 65.
Is there any way to handle this thing as i just want .msi installer not an .exe installer. I also tried changing custom action In-Script Execution setting from "Immediate Execution" to "Deffered Execution is system context", but it gives me another problem i.e i can't use MSIGetProperty and MSISetProperty. Also i have ALLUSERS set to 1 on the main installer.
Can you tell me how can i solve this problem. Any suggestion is appreciated.
Regards,
Umesh Bansal.
I have a Basic MSI Installer that also contains a Merge Module project. I created .msi installer and try to install on Vista 64 bit platform and I see some strange behaviors on Vista. When UAC is disabled, I can install and everything works. But if UAC is enabled Installer does not behave as expected (it does not fail but it does not install driver files).
When i converted this .msi installer into .exe installer then it works fine. But problem is one of my clients wants .msi installer.
When i try to go into the problem i found that one of custom action in MSM is causing the problem. This custom action calls a function in my custom dll. This DLL function calls SetupDiCreateDeviceInfo API in WINDDK. It looks this function tries to write some entries in registry section but fails to do so. My custom action is of type 65.
Is there any way to handle this thing as i just want .msi installer not an .exe installer. I also tried changing custom action In-Script Execution setting from "Immediate Execution" to "Deffered Execution is system context", but it gives me another problem i.e i can't use MSIGetProperty and MSISetProperty. Also i have ALLUSERS set to 1 on the main installer.
Can you tell me how can i solve this problem. Any suggestion is appreciated.
Regards,
Umesh Bansal.
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 03, 2008
03:03 AM
Stefan Krueger has written a white paper that should help:
'7 Reasons Why your Installations May Fail on Windows Vista (And How You Can Fix Them)'
http://www.acresso.com/webdocuments/PDF/is_vista.pdf?link_id=downloads
'7 Reasons Why your Installations May Fail on Windows Vista (And How You Can Fix Them)'
http://www.acresso.com/webdocuments/PDF/is_vista.pdf?link_id=downloads
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 04, 2008
03:18 AM
Thanks a lot:)