VDF-GUIdance logo



  Visual DataFlex Logo
  

Shared knowledge leads to accumulated knowledge

        Printer Friendly Page


COM Manifest Studio

by Nils G. Svedmyr

Summary

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.
No Files Available
Date Created: 23/09/2012
Date Updated: 21/09/2022
Author: Nils G. Svedmyr
Company: RDC Tools International


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.


Technical explanation


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.

Support


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.

Video Clip


If the embedded video clip does not show... more contents is below and the video can be seen at link

Current Sponsors



Date Sponsor Name Amount
2012-11-03 Wil van Antwerpen USD 30,=
2012-12-08 Leif Angestam - www.pp7.com USD 50,=
2012-12-21 Todd Forsberg - www.VisualDataFlexDevelopers.org USD 30,=
2013-01-14 Pepe Guimaraes - Moose Software USD 40,=
2013-01-15 Marco Kuipers - National Credit Insurance Brokers USD 50,=
2013-01-15 Garret Mott - Auto-Mate Software USD 50,=
2013-01-17 Richard Hogg USD 40,=
2013-01-29 Ancel Leonie USD 50,=
2013-03-05 Dan Walsh - Legal Software Development Inc. USD 50,=
2013-03-08 Chris Spencer USD 50,=
2013-10-23 Pieter van Dieren USD 50,=
2013-11-26 Dietmar Stiebitz USD 50,=

Download



Newer versions are available directly from Nils his website https://www.rdctools.com/downloads/

Update!!
The "COM Manifest Studio" recently made for DF 20.1 (but the source can also be used with earlier DF versions) and the workspace can be downloaded as a zip-file via this link:

May 24, 2023, COMManifestStudio20.zip ~68.9 MB

Everything below this line is old....



Link to VDF-Guidance SVN revision report that shows all changes made to the project:
http://projects.vdf-guidance.com/projects/manifestsidebyside/repository/revisions

NOTE: The best is to use Subversion link to download. That way you make sure you get the latest version. The zip files and installer program will always be of older date.


Update! 21st of November. Download link to a digitally signed Installshield setup program. Includes the full source code as well as the compiled program.

November 21, 2013, COMManifestBuilderProSetup.exe ~20, 379 kB


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.

older Downloads

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

Updated zip file with the full workspace! 21th of April 2013, COM Manifest manager ~ 1,571 kB

Subversion


Provided you have installed a version control client, e.g. TurtoiseSVN you can;

http://svn.vdf-guidance.com/ManifestSideBySide/trunk/ManifestSideBySide

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.