Difference between revisions of "Manifest file"
From wiki.visual-prolog.com
(→The assemblyIdentity element: Elaborate) |
(→References: Application Manifests) |
||
Line 80: | Line 80: | ||
=== References === | === References === | ||
* MSDN: [http://msdn.microsoft.com/en-us/library/aa374191(VS.85).aspx Application Manifests] | |||
* [[wikipedia:Side-by-side assembly]] | * [[wikipedia:Side-by-side assembly]] | ||
* [[wikipedia:DLL hell]] | * [[wikipedia:DLL hell]] | ||
[[Category:Tutorials]] | [[Category:Tutorials]] |
Revision as of 13:46, 24 February 2010
A Visual Prolog project can contain a manifest file. The manifest file is a Microsoft invention to deal with side-by-side installation, a new hell that is supposed to replace the so called DLL hell.
The file is either named <project>.manifest or main.manifest (current standard).
The manifest file is an XML file, and it is linked into EXE/DLL as a resource. Windows automatically look for it there (if not found there it looks for a file called myProgram.exe.manifest in the same directory as myProgram.exe).
Sample manifest file
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="MyProgram" version="1.0.0.0" processorArchitecture="X86" type="win32" /> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <dependency> <dependentAssembly> <assemblyIdentity name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" type="win32" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly>
The file contains three major elements:
- The programs own assemblyIdentity
- A trustInfo element
- A dependency, which lists assemblyIdentity's of assemplies that the program depends on.
The assemblyIdentity element
<assemblyIdentity name="MyProgram" version="1.0.0.0" processorArchitecture="X86" type="win32" />
This element list attributes of the program/DLL itself.
The trustInfo element
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo>
The dependency element
<dependency> <dependentAssembly> <assemblyIdentity name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" type="win32" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency>