Allows you to stop having to register and unregister the activeX controls that your application uses by using a feature in the manifest file. While this can be done by hand, this tool helps you to automate it.
The program is intended for using COM components - like CodeJock - without the hassle of using Windows registry. COM components are normally vulnerable to uninstallation - or updates to another version - made by other applications. It is more hassle free to include such COM info into manifest files - or even into the executable itself!
The advantage is that you won't need to register your COM components on each machine the program is to run on. And if another program uninstalls the same COM components your application uses, your application will run just fine without generating lots of "Cannot instantiate COM object..." upon startup - thus rendering less support calls.
An isolated application is a process that uses side-by-side private COM (DLL/OCX) components that resides in the application folder and so is not available to any other application. To do this the isolated application must use an application manifest file that contains dependency information about each COM component used by the application. In an isolated application with private COM components, the components will not be replaced when another application installs or uninstalls the same COM components on the machine. This also eliminates versioning conflicts and means that you will not need to register the components with the system by e.g. using the regsvr32.exe program.
Two things are needed for this technique to work.
a) The dependency information about each COM component needs to exist in the application's manifest file - or in the executable itself.
b) The COM component files must exist in the same folder as the application.
The COM Manifest Studio makes it very easy to achieve the above.
Please SUPPORT this project by donating the amount what you think it is worth to have.
By donating you not only support the software, but -if you want- you also get to be named as an official sponsor for the project.
The COM Manifest Studio is a convenient tool for easing your application deployment - and once deployed - makes your application much more robust.
* Everything * you donate goes straight to supporting the software.
I would like to thank you in advance for your support.
New in the Studio version is: a completely new UI, a wizard to create new projects and an "over the internet update feature".
Featured are: Digitally sign your application, compress program files, embed manifest in program file, create manifest fragments, register/unregister COM components and a new fancy about box that promotes Visual DataFlex.
Please see the list of changes at the bottom of this page for a more detailed list on what has changed.
Update! 17th of April. Download link to a digitally signed Installshield setup program. Includes the full source code as well as the compiled program. It can be used without any VDF version installed on the machine as it also contains a copy of the VDF 17.0 runtime engine. The idea is that the tool can be installed on a virtual machine for temporary purposes. However, you can select what to install. Makes NO changes to the registry regarding Visual DataFlex, so it won't interfere with any of your current VDF installations in any way. NOTE: The program has been renamed to "COM Manifest Builder" and so has the installation program and zip file. 17th of April 2013, COMManifestBuilderSetup.exe ~10, 997 kB
Right click the link and select "Copy Link address".
In Windows Explorer right click and select "SVN Checkout" to create the workspace and download all files.
List of changes
November 21, 2013
Added a help button to the setup dialog for how to export digital software certificates to .pfx files, that is a must to be able to use the programs "Digitally Sign Program" feature.
Changed the cWsDbCJGrid class to make the tooltip use the global desktop level tooltip object properties. Sadly though, it isn't possible to use a header icon and title, like in all other CodeJock classes (and the application desktop object). CodeJock has decided not to implement the ComShowTitleAndDescription method for the Report class! So I commented out those properties from the ghoToolTipController object at application deskop level, to make all tooltips look the same.
Added new class "cDbReadOnlyForm" that behaves like a DD-class field that has been set to "No Enter". However, it has the added conveniance of still showing the tooltip text when the mouse hovers over the object.
Commented out the "Procedure Page" message of the cButton class as it seems not be necessary any longer.
Fixed a bug in the cManifestSideBySide class - IsCLSIDRegisteredFromCOMComponent function, reported by Todd Forsberg. The values are now compared in uppercase.
Added "Powered by Visual DataFlex" image to the About dialog.
Added two new classes cProjectIniFile & cIniFileForm for generalizing read/write of ini-file values.
Changed objects in Setup2.dg to use the cIniFileForm class instead of the form class.
Changed the default setting of the Setup2.dg VDF main & minor version to use VDF system constants.
Commented out the AddEndBackslashCharacter function from the cManifestSideBySide class and changed all references of it to use vFolderFormat from vWin32fh.pkg. It was unintentional to duplicate that function. This also included to add the vFolderFormat to a lot of places where the "Get psManifestFragmentLibrary of ghoManifestSideBySide to sPath" syntax were used.
Added new functionality to the COMManifestBuilderPro program - DbMergerViewNew.vw; New Options - "Compress Program", "Digitally Sign Program" & "Check if Digitally Signed"
The Setup2.dg was also changed to hold info about digital signing, like what .pfx file to use for the digital certificate, the digital signing password et al.
Moved the "Test Run Program" button to the "Actions!" group.
Changed all button labels from "Select" to "Browse..."
Change. Bugfix for the GetExternalProgramResult function. With some COM components that exports a _lot_ of COM objects the list returned was to big for the memory pipe, resulting in an endless loop.