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: Vista 64 installed program slow to start
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
‎Nov 03, 2009
04:20 PM
Vista 64 installed program slow to start
I've created a basic MSI installation that installs an executable and a few supporting files. This is a 64-bit application, so I set the tempolate summary to "x64" and labeled the components to be installed as 64-bit(set to 264). This installs the files fine and the installation completes successfully. When I run the install app from the program files shortcut it takes a very long time to startup. In the task manager I can see the .exe process running, but it takes nearly 5 minutes to completely launch the application. If I run this same executable file from a desktop folder it starts up quickly. Also, if I try to run the executable installed in the Program Files folder(actually installed in (x86) folder, does this matter?) it sticks as well. If I install this on a 64-bit XP machine everything runs fine without any launch delay. Does anyone know why this might be ocurring?
(9) Replies
‎Nov 03, 2009
05:10 PM
if it is truly a 64bit application you will want to install it to the 64bit program files folder not the 32bit (x86) one.
Also in Vista the UAC can cause programs that are not correctly flagged with a manifest to be very slow to start.
Also in Vista the UAC can cause programs that are not correctly flagged with a manifest to be very slow to start.
‎Nov 04, 2009
11:20 AM
Lurean wrote:
if it is truly a 64bit application you will want to install it to the 64bit program files folder not the 32bit (x86) one.
Also in Vista the UAC can cause programs that are not correctly flagged with a manifest to be very slow to start.
Thanks for your reply. Unfortunately, I am not all that familiar with Vista. What flag might I set in my MSI installation to avoid this UAC problem? If I turn off the UAC on the target machine then the program starts up quickly, but I do not want to turn off the UAC for all the programs. I want this(whatever solution there may be) to be taken care of automatically in the installation.
‎Nov 04, 2009
12:18 PM
the manifest is part of the application you are installing and has to be built into the application prior to compiling.
http://msdn.microsoft.com/en-us/library/bb756929.aspx
depending on the permissions your applications need to run you will need to set the ExecutionLevel attribute accordingly.
http://msdn.microsoft.com/en-us/library/bb756929.aspx
depending on the permissions your applications need to run you will need to set the ExecutionLevel attribute accordingly.
‎Nov 05, 2009
04:53 PM
Thanks again. I raised the Required Exexcution Level (to Administrator) in the Release Setup.exe tab and this sort of solved the problem. After installation, the program will launch quickly now, but the UAC pops-up a box asking if I want to trust this application. How can I get rid of this?
‎Nov 05, 2009
05:10 PM
if the application requires administrator rights you cannot get rid of the UAC box asking about it. That is just the way that UAC works, it will confirm any application before elevating it.
if this is an application you are building, add an application manifest to the project and make sure the requiredExecutionLevel attribute is set to the appropriate value. If it is set to requireAdministrator then you will see the box every time. If the application can run with less rights than administrator users then you can set it to asInvoker to prevent the elevation in most cases.
If you are not building the application itself, then talk to the developer of that application about adding an application manifest to the application.
if this is an application you are building, add an application manifest to the project and make sure the requiredExecutionLevel attribute is set to the appropriate value. If it is set to requireAdministrator then you will see the box every time. If the application can run with less rights than administrator users then you can set it to asInvoker to prevent the elevation in most cases.
If you are not building the application itself, then talk to the developer of that application about adding an application manifest to the application.
‎Nov 09, 2009
09:31 AM
Actually my last post was wrong. This did not work. By changing the requested execution level to administrator in the release tab it didn't run immediately like I thought. I think what happened is that I manually set the "run as administrator" checkbox in the installed .exe file's properties(by going to the exe file in the Program Files directory on the target machine).
So then I tried to embed a manifest in the .exe file that I wanted to install using mt.exe with the following manifest:
This is what was on MSDN, but is this correct to be used on a Vista 64 machine? It didn't work for me.
How can I automatically have the installed .exe file have its "run as administrator" checkbox automatically checked when the installation is performed?
So then I tried to embed a manifest in the .exe file that I wanted to install using mt.exe with the following manifest:
This is what was on MSDN, but is this correct to be used on a Vista 64 machine? It didn't work for me.
How can I automatically have the installed .exe file have its "run as administrator" checkbox automatically checked when the installation is performed?
‎Nov 09, 2009
09:47 AM
I am building the install application. I checked the manifest of the setup.exe file of my install and here's what it is:
-
InstallShield.Setup
-
-
-
-
-
-
-
I noticed that it has "win32" whenthis is actually a 64-bit application, as I have the Template Summary set to x64 and all of the components set as 64 bit components. Is this an issue?
-
-
-
-
-
-
-
-
I noticed that it has "win32" whenthis is actually a 64-bit application, as I have the Template Summary set to x64 and all of the components set as 64 bit components. Is this an issue?
‎Nov 09, 2009
01:55 PM
Here's something that does work. If I install the application onto the desktop, which I would never reasonably do, the application launches fine every time. But whenever I install the application in the ProgramFiles folder the program hangs at launch. Does this make any sense?
‎Nov 09, 2009
05:44 PM
here is more information on manifests and exact syntax needed to make them work.
http://msdn.microsoft.com/en-us/library/aa374191(VS.85).aspx
I am just getting into this myself as we are just transitioning our software to Vista.
The reason it works when you install the application to a spot other than ProgramFiles is that you are not installing into protected space, and the UAC is not as controlling. If your application is primarily written for Vista you could look into installing it into the Public folder instead, but I am not sure how viable that is and that won't help if your application needs access to protected space files.
http://msdn.microsoft.com/en-us/library/aa374191(VS.85).aspx
I am just getting into this myself as we are just transitioning our software to Vista.
The reason it works when you install the application to a spot other than ProgramFiles is that you are not installing into protected space, and the UAC is not as controlling. If your application is primarily written for Vista you could look into installing it into the Public folder instead, but I am not sure how viable that is and that won't help if your application needs access to protected space files.