views:

68

answers:

2

So, I've got a single VB6 executable that references multiple VB6 COM DLLs. Is it possible for me to generate, on-the-fly, a manifest for the executable as well as a manifest for each of the referenced DLLs? If so, then how?

I would like to perform this operation as part of our build process without having to register the COM DLLs as part of the process.

NOTE: All the reg-free COM examples that I've found so far involve .NET interop, which is not a requirement for what I'm doing.

[EDIT]

After performing some preliminary testing using Unattended Make My Manifest, I've found that its just not as user-friendly as I would like. And, since there's only a Sample.ini file for documentation I've had a pretty hard time understanding what should be put into that file compared to what doesn't need to go into that file. Anyways, I've decided to craft manifests using my own tool. Hopefully, I'll get permission from my employers to release the code as open source.

For now, if you're in the same position that I'm in and you would like to create a build and production environment that uses side-by-side/registration-free COM interactions, just know that its possible. I would recommend crafting them by hand with a simple DLL and consumer app at first, and then incrementally building on that until it suites your specific needs.*

A: 

You could try Make my manifest which is a tool to create the manifest for a VB6 program. I don't know whether it can run automatically as part of a build process.

MarkJ
+1  A: 

We are using Unattended Make My Manifest in daily builds to create portable versions. It creates a single manifest that can be embedded to the executable with mt.exe

wqw
I've found zero documentation on the UMMM tool. The sample doesn't make it clear whats required and what's not. Would it be possible for me to consult with you via email to discuss?
Sean Ochoa
The binaries zip contains `sample.ini` that explains all the supported commands. Basicly you need a single `Identity` command and multiple `File` commands. Prepare an ini file (keep this under VCS), copy all the binaries in a folder, then spawn `ummm.exe` "compiler" with single param the ini to produce the manifest. Optionally spawn mt.exe to embed the manifest into the main executable. It's fairly obvious (you can check the source too) but if you have any troubles send me an email.
wqw