About PackageBuilder |
After a .NET user interface extension has been thoroughly tested, it can be deployed for production use. This involves two steps: packaging the extension and registering the extension. For a .NET extension, these steps are similar to, but different from, the steps that you may be used to performing for Visual Basic 6 extensions described elsewhere in this guide.
Visual Basic .NET is built upon a completely different framework that is incompatible with Visual Basic 6 and DCOM in many ways. One of the differences is that a.NET ActiveX component cannot be deployed in the same manner as a Visual Basic 6 component. Moreover, Visual Studio does not include the Package and Deployment Wizard that is used to package Visual Basic 6 extensions.
Deploying a .NET extension for Meridian Enterprise faces the following challenges:
The BlueCielo .NET SDK meets these challenges by providing a tool named PackageBuilder that allows deploying an extension via an Internet Package (.CAB) file that is compatible with the Meridian Enterprise Configurator.
PackageBuilder accepts the fully-qualified name of an extension DLL file and supports the following command line switches:
“%BCMNETSDK%\Deployment\Extension\PackageBuilder.exe” [-deployperuser] [-nobuild] [-mergeinterop] “<PathToExtensionDLL>”Where <PathToExtensionDLL> is the full path to the DLL file created by your project. The BCNETSDK environment variable is set by the BlueCielo .NET SDK installer and contains the full path where the SDK is installed. By default, this is the folder C:\Program Files\BC-Meridian\BlueCielo .NET SDK.
The command line switches are described in the following table.
Switch | Description |
---|---|
deployperuser | Create an installation package for single user of a computer, not all users of the computer. |
nobuild | Do not build the installation package (CAB file), generate support files only. Use this argument in scenarios when support files require customization (for example, to include referenced files in the CAB file). |
mergeinterop | Include the BC Meridian Interop libraries in the CAB and remove interop prerequisites from the bootstrapper to disable automatic download from an Internet location. Use this argument to install interops on the clients from the CAB file. This argument is not supported with the -deployperuser argument for per-user installation. |
Using PackageBuilder means that .NET extensions can be deployed to destination computers running BlueCielo Meridian Enterprise 2007a or higher without any changes to the Meridian Enterprise clients (no hotfixes or patches are required).
To ensure that your extension will install and run successfully, you must ensure that all components upon which your extension is dependent are already installed on the destination computer. PackageBuilder can accomplish this by adding a bootstrapper application (setup.exe) to the .CAB file that PackageBuilder creates.
PackageBuilder uses the Windows Installer service to install .NET extensions. Windows Installer packages (MSI files) can be created with Visual Studio, but to simplify the deployment process, PackageBuilder uses the Windows Installer XML (WiX) toolset. WiX is a free Microsoft toolset that builds Windows Installer packages from XML source code. You must install WiX version 3.0 on development computers in order to use the PackageBuilder tool. Alternatively, you can create a MSI file with Visual Studio and pack it manually into a .CAB file in the same way that PackageBuilder does.
Packaging and registering .NET extensions using PackageBuilder is described in the following topics.