In this article, I will show how to use the Bootstrapper Manifest Generator (aka BMG) tool to build a bootstrap for MS Office Hotfix (You can use similar steps for any hotfix). This tool will help us to build the folder required in the Visual Studio packages folder and it will show in the prerequisite window for the developer to add to its project window.
This list of Prerequisites, generated by Visual Studio, is based on the content of this specific folder:
[Drive:]\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages
Each sub folder in this Packages folder represents a Prerequisite (Redistributable package) and contains the following files:
- Product.xml manifest file
- Package.xml manifest file
- Redistributable files (Optional. If not found, the software will be downloaded over the Internet.)
The Bootstrapper Manifest Generator tool can downloaded from http://code.msdn.microsoft.com/bmg.
We will be generating the Prerequisite for MS Office 2007. A recent hotfix (KB976811 available through KB976477) for Office 2007 allows us to register and load VSTO add-ins under HKLM for Office 2007.
Developers using VS 2008 .NET to add hotfixes as prerequisites. In this case, we are adding MS Office hotfix so that we can later on use this item to build a VSTO solutions for all users.
The following steps are required:
1. Download the hotfix and unzipped to [Drive:]\temp ([Drive:]\temp\office-kb976477-fullfile-x86-glb.exe)
Note: MS will send the hotfix download link via email. Unzip the downloaded file with the provided password and make sure to test the hotfix before applying in your production environment.
2. Start the BMG tool (BMG.exe)
Note: Default location is “C:\Program Files\Microsoft\Bootstrapper Manifest Generator for VS2008\BMG.exe”
3. In the main menu select File then New.
4. In the New Project dialog, select Package Manifest and click OK.
5. In the new Project dialog, enter the Project Name as ‘Hot fix KB976477 – Office 2007 All users’
6. Click in the textbox for Product Code to automatically enter a value in it (‘Hot.fix.KB976477.-.Office.2007.All.users’)