Re: How create a manifest for a VC++ 5 application?

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance




"Simon" <sorde@xxxxxxxxxxxxx> wrote in message
news:RuWdndgT_7yMBfTanZ2dnUVZ8v2vnZ2d@xxxxxxxxxxxx
I have an application developed under VC++ 5 that I want to install
properly under Vista (i.e. not rely on virtualisation etc). I understand
that I need to create a manifest for my program that will specify:

(a) the execution level it requires (which is 'asInvoker')
(b) What code dependencies it has (DLLs it calls into?)

Actually do I even need to bother with (b)? Is this required for Vista?
Is it just (a) that I need?

If I do need, (b): the application (call it XYZ.EXE) is built using the
MFC42.DLL and also the MSVCRT.DLL. These are installed (using innosetup)
in the system folder. The other files (including 2 other application
DLLs - call them XYZ1.DLL and XYZ2.DLL) are installed in a program folder
under c:\program files in the normal way. There's nothing very unusual
about the app. So for (b) I presumably specify MFC42.DLL and MSVCRT.DLL?
And XYZ1.DLL and XYZ2.DLL too?

Can anyone tell me how to write a manifest for this? I understand that I
can use Notepad. But I have searched all over the place, and I can't find
anywhere that tells you exactly what content I need.

If anyone could post back an example using XYZ_APP.EXE, XYZ_DLL1.DLL etc,
that would be ideal. Failing that (or as well) can anyone point me to a
simple document that explains it all simply?

Any help with this would be very much appreciated.


Simon, you don't need (b). A manifest doesn't specify the DLL's the .exe is
dependent on, such as MFC42.DLL and MSVCRT.DLL. But what you might be
referring to is "reg-free COM" which is a little known feature of XP (some
say XP SP2) and later which lets you specify which COM components your app
is dependent on, and then if you put those COM component DLL's in the same
folder as your .exe, then you don't need to register them in the registry.
This is really sweet, since registering them requires Admin priviledge and
also more uninstallation work. But since you don't have any COM components,
you don't need to worry about this.

See
http://www.microsoft.com/downloads/details.aspx?FamilyID=ba73b169-a648-49af-bc5e-a2eebb74c16b&DisplayLang=en
for manifest examples.


-- David


.



Relevant Pages

  • Re: Vista, C#, and Regsvr32
    ... We are testing and tweaking some of our software to run on Vista, ... // attempt an experiment to register an OCX object in silient mode ... Regsvr32 needs "administrative" privileges to register COM components, so you need to run your program from a command prompt that was started with "Run As Administrator", or you have to add an application manifest to your application. ...
    (microsoft.public.dotnet.languages.csharp)
  • How create a manifest for a VC++ 5 application?
    ... Is this required for Vista? ... call them XYZ1.DLL and XYZ2.DLL) are installed in a program folder under ... So for I presumably specify MFC42.DLL and MSVCRT.DLL? ... Can anyone tell me how to write a manifest for this? ...
    (microsoft.public.vc.mfc)
  • Re: Java application not working with space in the path
    ... does its Manifest file specify a Main-Class ... is the specified class name correct ... Obvious: the jar is there ...
    (comp.lang.java.programmer)
  • Re: Manifests and requestedExecutionLevel
    ... details such as syntax, semantics, and methods for creating them. ... So the questions are is this something the manifest will do for me? ... Kenny's article above makes it seem impossible to use a manifest to specify ... This will be the default for standard users but not for Admin ...
    (microsoft.public.vc.mfc)
  • Re: Manifests and requestedExecutionLevel
    ... and it handwaves about the manifest without actually telling how to ... I wonder why manifests are so complex that the documentation was not delivered on the day ... details such as syntax, semantics, and methods for creating them. ... Kenny's article above makes it seem impossible to use a manifest to specify ...
    (microsoft.public.vc.mfc)