View Full Version : PCA Problem on Windows 7

07-12-2009, 08:54 AM
I wrote a InstallShield Script project by installshield version 2010.

Run on Windows 7 RC, when I press [cancel] button during installation/uninstallation and finally press [finish] button,
there was a Program Compatibility Assistant (PCA) dialog displayed.

The picture is attached.

How can I resolved this problem on installshield 2010.

Thank you.

07-13-2009, 12:37 PM
According to "Application Manifest" in "Windows 7 and Windows Server 2008 R2 Application Quality Cookbook" (http://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx), describing "Compatibility" section as "Windows 7 Compatible" in the application manifest excludes the application from PCA.

But "setup.exe" of InstallShield 2010 has no "Compatibility" section in its application manifest!

07-14-2009, 10:09 AM
We are aware of this issue; this behavior was added "last minute" to Windows 7.
Here's a good description of this: http://blogs.msdn.com/cjacks/archive/2009/06/18/pca-changes-for-windows-7-how-to-tell-us-you-are-not-an-installer-take-2-because-we-changed-the-rules-on-you.aspx

For now, you can manually change the manifest used for setup.exe so at build time that manifest is included with your installation and that PCA dialog is suppressed when a user cancels.

07-19-2009, 12:39 AM
Thanks Marwan.

By the way, "Windows 7 and Windows Server 2008 R2 Application Quality Cookbook" (http://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx) says
the following Windows components other than PCA provide divergent behavior based on the Compatibility section in Windows 7.
- RPC Default Thread Pool
- DirectDraw Lock
- DirectDraw Bit Block Transfer (Blt) to Primary without Clipping Window
- GetOverlappedResult API

Does "setup.exe" whose manifest is manually changed Compatibility section to "Windows 7 Compatible" works without problem on Windows 7?
And Acresso Software guarantee the behavior of "setup.exe" whose manifest is manually changed Compatibility section to "Windows 7 Compatible"?

07-20-2009, 01:27 PM
Yes changing the manifest manually so it is included in all the setups you build will not show this dialog when a user cancels the setup on Windows 7.

07-22-2009, 06:03 AM
I am facing this ssue in Windows 7 Operating System, I struck this problem and thanks to sackbauer and marwan.

please confirm Which manifest file want to change for PCA Compatability.

07-22-2009, 09:05 AM
Just add this section after the trustinfo section:
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>

The setup manifest files are in the InstallShield\Support folder (SetupEXE.xxxx.manifest).

07-27-2009, 09:19 AM
KB article Q205850 (http://support.installshield.com/kb/view.asp?articleid=Q205850) describes the problem that is explained in this thread. The article also has updated manifest files that you can use in the Support subfolder of the InstallShield Program Files folder.

05-19-2010, 01:31 PM
How do these manifest files work?

Do I change just one of them and then it works for every single build? If I add the operating system ids above in post #7 to the correct file, will it do it? There are multiple manifest files in the support directory. Which one do I change?

How do I integrate this?

My aim is to not get the same message described in the thread while using windows 7 and 2008.

I have the new installshield service pack.

05-19-2010, 01:54 PM
I think I am figuring out some of the answers to my own questions. I believe installshield supplies you with templates but you have to actually add the file to each installation and edit it yourself.

If I am incorrect, please correct me.

05-19-2010, 02:05 PM
If you have InstallShield 2010 Service Pack 1 (http://support.installshield.com/kb/view.asp?articleid=Q206429), your installation should be fine. You shouldn't have to modify the template manifests manually for Setup.exe, as described earlier in this thread. All you would need to do is rebuild the release.

Here's the release note description of the SP1 change in this functionality:

If you configure your InstallShield project to create a setup launcher for your installation, the manifest that InstallShield creates for the setup launcher now includes a compatibility section. Previously, without this compatibility section, a Program Compatibility Assistant (PCA) dialog box may have appeared at the end of an installation on Windows 7 and Windows Server 2008 R2 systems. The PCA dialog box indicated that the program might not have installed correctly. This dialog box was displayed if the installation did not create the application uninstallation key. This may happen if the end user cancels the installation or the installation fails to complete successfully.