News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Windows 7 Program Compatibility Assistant

Started by jasonabullard, December 07, 2012, 02:09:05 AM

Previous topic - Next topic

jasonabullard

Not sure if anyone else has run across this issue before but I wanted to share an issue that I encountered recently.  Everytime I ran my program and exited I got a message from the W7 PCA letting me know my program may require administrative privileges.  I was not doing anything that required this but it seemed to think I was.  However, I wasn't exactly sure what was causing W7 to alert me of this issue.  So I went ahead and created a small app to add portions of my code to see if I could track down the problem.  One of the very first things I copied over was code to launch the open file dialog.  Once I selected my file and then exited W7 PCA prompted me.  If I just opened the program and closed I received no notifications.

After a little research I discovered there have been changes between Vista and W7 in how they use manifest files.  I have attached the code to show how PCA is prompting me with and without a manifest file.  In order to get around not having PCA alert me of potential problems you have to include supported OS GUIDs within the manifest as explained in the below link:

http://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx

dedndave

interesting - thanks for the tip   :t

i guess we haven't run into this because most forum members are using accounts with admin priv   :P

jasonabullard

I hear ya and it definitely makes sense why I have never run into this issue at home.  But work computers are very different.   :lol:

caraveiro

QuoteNot sure if anyone else has run across this issue...

Wow!... manifest.xml solves the "This program might not have installed correctly ...." error at my side!

Thank you!
"knowledge is now free at last, everything should be free from now on, enjoy knowledge and life and work for everybody else"
+ORC

Magnum

Thanks jasonabullard for the info and code.

What do they mean when they say "Windows Vista behavior by default on Windows 7 and future Windows versions"

Windows Vista behavior is a little vague to me.

Andy


Description

Windows 7 introduces a new section in the application manifest called "Compatibility." This section helps Windows determine the versions of Windows that an application was designed to target, and enables Windows to provide the behavior that the application expects based on the version of Windows that the application targeted.

The Compatibility section allows Windows to provide new behavior to new developer-created software while maintaining the compatibility for existing software. This section also helps Windows deliver greater compatibility in future versions of Windows as well. For example, an application declaring support only for Windows 7 in the Compatibility section will continue to receive Windows 7 behavior in future version of Windows.
Manifestation of Change

Applications without a Compatibility section in their manifest will receive Windows Vista behavior by default on Windows 7 and future Windows versions. Note that Windows XP and Windows Vista ignore this manifest section and it has no impact on them
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

dedndave

they describe 5 "checkpoint" items in the paragraph named "Manifestation of Change"

RPC Default Thread Pool
DirectDraw Lock
DirectDraw Bit Block Transfer (Blt) to Primary without Clipping Window
GetOverlappedResult API
Program Compatibility Assistant (PCA)

for each item, they outline the behaviour of windows 7 and vista

herge


Hi Everbody:

WHY would Microsoft worry about compatibility. They don't want to
be compatible with anything, or legacy code you don't make money
that way.

Regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

Magnum

Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

Tedd

Quote from: herge on January 26, 2013, 12:28:54 AM
WHY would Microsoft worry about compatibility. They don't want to
be compatible with anything, or legacy code you don't make money
that way.
Windows remains dominant precisely because of this compatibility, and they go to great lengths in an attempt to maintain it. Windows could be much lighter and stable if they threw out the mass of fixes and hacks required to support old software and legacy code - and they know this. But the result would be that there's nothing tying you to windows anymore; if you're forced to start over, there is less reason to choose windows over another OS. While it maintains compatibility with all of the old software and games that you know and love, it remains the natural choice for your next computer.
Potato2

herge

 Hi tedd:

I must admit I agree with you but microsoft Techncal standards are kind of low.
i.e. next time you get an Error Message from microsoft. Throw it into Google pick
a microsoft site. Find an example , also be weary they also copy the command
prompt and I will guarrantee powershell will sh*t Bricks!
Do not be stupid and try to complain to Microsoft they are very slow on the
uptake in Redmond.

Regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

Magnum

Herge,

This really happened.

I had a complaint against a M------S employee. (Discombobulated for Safety's sake.)

The customer service lady was polite.

I explained the situation and gave her enough details to understand me.

I was thankful she could talk and understand English without me having to
repeat sentences 2 or 3 times.

I asked to talk to a supervisor.

She would not tell me who the supervisor was and then she gave me a phone number of the legal department and said it was open 24 hrs. a day.

I was dumbfounded.

Andy







Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

herge


Hi Magnum:

You would not need a compatibility assistant if they did job right the
first time.

Regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

Magnum

You are right.

I don't think that it  is so much of doing the job right, but of willfully doing it wrong that makes me want to say Firetruck.

It feels like we are babysitting a 60 year old adult kid who refuses to grow up.

Andy
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org