Inno Setup Installer "Rstrtmgr.dll" Access violation Happened - inno-setup

I make Inno Setup Installer, run it and get the exception happened,
Message as following:
Access violation at address 721DE701 in module 'Rstrtmgr.dll'.
Read of address 2D6D2A70.
I think that AlwaysRestart=yes flag let installer access the Rstrtmgr.dll,
turn off AlwaysRestart flag, run again but the exception still happened.
What can i do? Is any way not to access Rstrtmgr.dll?
OS: Windows 7, Windows 10.
Inno setup core version: v5.6.1
I got the alike case: Restart Manager Access Deny.
My team try to install many times then Sometime one or two times installation is complete and no denied.
Behaviors are almost same as mine.

Related

How to know if user click in "Cancel" UAC during initialization?

I have a NET Framework 4.5.2 in Inno Setup wizard, and i have a problem with Windows 8.1:
My C# application verify if Windows have NET Framework 4.5.2, and if dont, we call the instalation generated by Inno Setup and install with Silenty/Hidden options.
The problem is, if the user are not admin, and a UAC window open asking if he want do execute or not the application (from Inno Setup). If user click on cancel, how i can know that the instalation dont have finished or dont even started ?
Theres a way to know if he have cancel without looking if NET Framework are in registry/regedit ? I say that, because on Windows 8.1 the Release version from NET Framework are only updated after reboot the system.
Inno Setup-made installer returns exit code 2, when it did not finish for whatever reason (including UAC cancel).
Though I'm not sure why you need to check for UAC cancel specifically. You want to know, if the installation failed for any reason, right? So check for any non-zero exit code.

Can I sign the uninstaller for my program?

For reference, I am using InstallShield 2015 and the project is a Basic MSI.
I know the uninstaller is created automatically, what I do not like about it is how I'm always shown the "Do you want to allow the following program from an unknown publisher to make changes to this computer?" warning.
Is there a way to sign the uninstaller the same way I do with the program itself so that users don't need to see this warning?
Assuming Basic MSI and Windows 7, I don't know why you'd get this message.
In Windows NT/2K/XP/Vista, MSI stripped the storage out of an MSI and stored it in c:\windows\installer. This was for space considerations and it would resolve the full MSI if content was needed.
In Vista they added UAC and the complaint was uninstall would say unknown publisher because stripping the storage invalidated the cert.
In Windows 7 and beyond they cache the full MSI. So this shouldn't be an issue. A further examination of your environment and uninstall log file would be required to give a better answer.

How to disable UAC programmatically to install a program by LE installshield for all users

I have an installation setup created by LE instalshield under VS2012. This setup.exe installs the application, registers some DLLs and activeX files and adds some registry entries as pointers to the location of an SQL server database. This application is to be run by all the users in a group policy created by the IT of their institution. The installation is done under the full administration privileges.
If the UAC of the win 7 is not fully lowered, some DLLs and OCXs are not registered (although the required registry keys are written in the MACHINE area of the registry without any problem!). So in order to avoid this I have to manually lower the UAC to its lowest level before running the Setup.exe. This solves the problem with the registration of DLLs.
But sometimes even though the installed program works for the installed login, it does not work for other logins within the same group/users. So how can I create a setup.exe under LEinstallshield that would 1) not require manual lowering of UAC, 2) install for all users under the same group policy?
Thank you for all your help.
You should be asking why your installer isn't compatible with UAC instead of asking how to disable UAC. If you are authoring a clean MSI using the registry tables (COM extraction) instead of using COM self-reg or other custom actions, it should just work.

Why admin privileges are required?

I'm logged-in as non-administrator account on Windows 2008 R2.
When I try to run the Inno-setup script under that account, I'm required to enter administrator password.
The problem is that later I can't debug that script, since it has references to {userappdata} variable, which means that during run-time it refers to administrator!
I wish not to be asked to provide administrator rights - not during debug nor during real installation. How to do that?
I prefer the application not to be installed by administrator. Respectively, files are installed to {app} (usually C:\Program Files (x86)) and {userappdata} only
How to prevent being asked to install it as administrator?
If I'd purchase a code-sign certificate for that application - would that solve that problem?
THANK YOU
There are tips already shared,
http://www.vincenzo.net/isxkb/index.php?title=Vista_considerations
If you can make your installer friendly to standard users, then the elevation can be removed. You might first set PrivilegesRequired=lowest and then see what breaks. After fixing the broken pieces, you should get such an installer.
Code signing will not stop elevation prompt, if your installer still requires elevation.
Installing anything to %PROGRAMFILES% (C:\Program Files or C:\Program Files (x86) in versions of Windows supporting UAC (and even Windows XP under a non-power user or administrator account) requires administrator rights. There's no way to work around that; the normal (non-administrator) user isn't supposed to install software to %PROGRAMFILES%.

Runtime Error! - Microsoft Visual C++ Runtime Library

I've developed an application in VS 2003 (C++). But while running in a fresh windows xp machine, getting error:
Microsoft Visual C++ Runtime Library
Runtime Error!
Program:
This application has requested the Runtime to terminate it in an unusual way....
What will be the reason for getting this error and how can I solve it? Please help.
This is a very generic error so it is not easy to solve from this information but I can give you a few things to try.
First check that the program runs fine on your developer machine - if not run under the debugger and trap the specific error.
If this problem only occurs on the clean machine it probably does not have the correct runtimes installed.
Your application will depend on a number of dlls that ship with visual studio, you will need to install these on the clean machine.
Your can run depends.exe from http://www.dependencywalker.com/ this will tell you what dlls cannot be found.
These dlls will be on your developer machine, you can either package the yourself in an installer or find the correct redistributable from microsoft.
Another thing to check - have you hardcoded any file locations? e.g. your application could try and open a file, resource, registry key - something that does not exist in your clean machine - if the code does not check for failure you would then probably crash at some point after the read failed to happen.

Resources