/ Any VC++ developers out there ? Know anything about manifests ?
Do you know anything about manifest files ?
Specifically, can you tell me how to include a compatibility section in the manifest that gets embedded in my executable.
It would appear that when my prog gets downloaded from the web, Windows 7 takes a dislike to it and Program Compatibility assistant puts out a warning that it may not have installed correctly.
Googling that error has led to me to stuff on the manifest, but as ever the Microsoft help is as much use as a chocolate tea pot. And as ever this problem comes to light right at the end of a development cycle, just when we are about to release.
Which version of Visual Studio? I have only used Manifest files for UAC settings.
If you are using 2012+ you can add useful stuff like UAC control by right-clicking on your project and select Properties.
Select Linker, then Manifest File. Set UAC Execution Level to the level you want i.e. requireAdministrator.
If you are using an older version of VS, you can add the manifest file to the project properties under Manifest Tool->Input and Output->Additional Manifest Files. Here is a manifest file that we used for compatibility and UAC:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<requestedExecutionLevel level="requireAdministrator" />
<!--The ID below indicates application support for Windows Vista -->
<!--The ID below indicates application support for Windows 7 -->
<!--The ID below indicates app support for Windows 8 -->
Thanks for the reply - that looks promising. Using Visual Studio 2010. I'd found the stuff in the properties but didn't know what to put in there.
Presumably I simply create a .XML file and put that stuff in ?
Where do those GUIDs come from - are they related to my program or to Windows ?
Have you tried rebooting?
No, but I did try cycling the initialisation process
I got a puncture
... Okay, this sounds serious. I'll cut to the chase and share the rest of my experience.
Is your PC plugged-in to the mains?
Have you emptied the Recycle Bin?
Press Ctrl-Alt-Down Arrow.
Have you checked with the Windows paper-clip for a solution?
Can you recode the whole thing in VB6?
Can you recode the whole thing as an Excel macro?
Can you recode the whole thing in assembly language?
Can you recode the whole thing in XML?
Have you emptied the Recycle Bin?
I've got an Excel spreadsheet running VB macros using a C++ Com object to talk to server program written in Algol. Does that answer your question ?
Yep - just create an XML file and bung it in. The GUIDs should just role off your head! :-) They are the standard GUIDs for each version of Windows. You may have to goole around. I copied that manifest from the one we use but had to cut out some app specific stuff. Alas I am not an expert either but perhaps this is a good place to start. Be aware that Windows XP does not support UAC so will not prompt for access.
You fool! You've clearly forgotten to plug your 16Kb ZX81 RAM pack in. No wonder you're having problems!?!
... My work here is done.
Thanks for your help - been a bit busy due to a major sh*tstorm, but now getting "manifest authoring warning 81010002: Unrecognized Element "compatibility" in namespace "urn:schemas-microsoft-com:compatibility.v1"."
Tried installing VS2010 service pack 1 but that doesn't help
Don't suppose it rings any bells ?
Actually it does, but mainly to do with trying to use the automated checkout at Sainsburys. Sounds like you are missing the bagging area plugin.
Best guess - your XML is badly formed, maybe you are missing a closing tag? There shouldn't be an element named 'compatibility' in that namespace.
You could post the XML.
I did a cut and paste from the code posted by ByEek, but removing the trustinfo section. I gather compatibility is a newish attribute, which is why I looked for a visual studio update.
As I said I've not been able to play around with it due to unrelated issues