Using VC8 linker to generate isolated app manifest with dependencies.

  • Thread starter RossettoeCioccolato
  • Start date
R

RossettoeCioccolato

Is there a brief tutorial somewhere on how to use the VC8 linker to generate
a manifest for an isolated application with a dependency section for an
arbitrary dll? There are some implementation details that I don't
understand. Supposing I want to bind my application to a specific version
of kernel32.dll using a hash, for example? What hash is used? Is it the
hash generated by the CryptCATAdmin* functions or just a simple hash of the
whole file? Can I get the linker to generate the proper hash or do I have
to supply the hash dependency section with hash in a manifest include file?
Some additional details would be appreciated.

Regards,

George.
 
G

Gary Chang[MSFT]

Hi Geogre,

Thank you posting!
Is there a brief tutorial somewhere on how to use the
VC8 linker to generate a manifest for an isolated
application with a dependency section for an arbitrary
dll?

I am afraid the VC8 linker doesn't provide such function to generate an
application manifest, you need to manually create the specific application
manifest by yourself.

By the way, an application manifest only works for several specific
Microsoft Side-by-side Assemblies, the kernel32.dll is not a side-by-side
assembly, so an application manifest would not work in this case. Please
refer to the following MSDN documentation:

Supported Microsoft Side-by-side Assemblies
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sbscs/setup
/supported_microsoft_side_by_side_assemblies.asp

By the way, I noticed you have posted a related question in our
platformsdk.security, my colleague Jeffery have also provided a detailed
reply to you in that thread, please check it there.

Thanks!

Best regards,

Gary Chang
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 
R

RossettoeCioccolato

Gary,
What hash is used? Is it the hash generated by the CryptCATAdmin*
functions or just a
simple hash of the whole file? <

Would you address specifically this part of my post.

Regards,

George.
 
G

Gary Chang[MSFT]

Hi Geogre,

Thank for your response!
CryptCATAdmin* functions or just a simple hash of
the whole file?

Would you address specifically this part of my post.

You can use the platform SDK utility Mt.exe to generate hash. It is
available in Windows 2000 and Windows XP.

Mt.exe generates hashes using the CryptoAPI implementation of the Safe Hash
Algorithm (SHA-1). The generated Hashes are inserted as a hexadecimal
string into the <file> tags in the manifest. I suggest you refer to the
following platform SDK documentation for the details:

Mt.exe
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sbscs/setup
/supported_microsoft_side_by_side_assemblies.asp

By the way, I am afraid my first reply missed the point that the VS2005 has
already integrated the platform SDK's manifest tool. You can access that
option in the project Property Pages dialog. On the Configuration
Properties tab, click Linker, then Manifest File, then Generate Manifest...

One related MSDN documention on this topic is as the following:

Manifest Generation in Visual Studio
http://msdn2.microsoft.com/en-us/library/ms235229.aspx

I hope the above information helps, if you have any questions or concerns,
please do not hesitate to let me know. I am standing by to help you.

Thanks!

Best regards,

Gary Chang
Microsoft Online Community Support
==================================================
When responding to posts, please "Reply to Group" via your newsreader so
that others may learn and benefit from your issue.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top