Click here to Skip to main content
11,790,613 members (61,280 online)
Click here to Skip to main content

Deploying CAB Files Using ClickOnce Deployment

, 25 Sep 2008 GPL3 46.8K 703 27
Rate this:
Please Sign up or sign in to vote.
This article is a step by step explanation of how to modify a ClickOnce Deployment package to include CAB files


The purpose of this article is to demonstrate how to modify a ClickOnce Deployment Application Manifest to include CAB and other resource files normally not permitted through ClickOnce.


Suppose you have a Visual Studio 2005 or 2008 project that contains a CAB file and you wish to include that CAB file as part of your ClickOnce Deployment package. By default, there is no way in Visual Studio 2005 to do this. Thankfully, there is an Open Source Utility called “Manifest Manager Utility” available which can be used to do this.


Step 1 – Manifest Manager: Download the “Manifest Manager Utility” source code from the following URL:

Extract the zip file and open the solution file “ManifestManagerUtility.sln” in Visual Studio and compile the code to generate the “ManifestManagerUtility.exe” file. Alternatively, you can use the Windows Installer I have included in this tutorial to install a compiled version of this utility on your machine.

Step 2 – Sample Project: The sample project I have included in this tutorial consists of the following subprojects:

  • ClassLibrary1: is a sample Class Library DLL, which we wish to distribute with our ClickOnce Deployment.
  • Sample Project 1: is the main subproject of the solution, which is set as the startup project for our solution.
  • Cab1: is a CAB Project, which takes the primary output from ClassLibrary1 and adds the DLL to the output of the solution.

Step 3 - Right-click on the main subproject name (in this case “Sample Project 1”) in the Solution Explorer window in Visual Studio and Choose “Properties”.


Step 4 – Click on the “Publish” Tab and enter the “Publish Location” and “Install URL” of your application. This can either be a web location, a shared network location, or a location on your local machine.

Step 5 – Click on the “Publish Now” button to publish your application. Here is what you will have in your directory:


Step 6 – Run the Manifest Management Utility and click on the “Open” folder icon:


Step 7 – Select the .application file of your ClickOnce Installer and click on the “Open” button:


Step 8 – Click on the “Add Files” button in the toolbar.


Step 9 – Navigate to the project directory and select the CAB file you wish to include with your ClickOnce Deployment to add. You will be asked about the destination of the CAB file. Select the subfolder “Sample Project 1_1_0_0_0”, inside the same folder you opened the “.application” file from. Here is what your screen should look like:


Step 10 – Click the “Save” button to save your changes. You will be asked to provide the Key (Digital ID / Authenticode) for the application. By default, when you first publish your application, a Key is created for you and added to the source code folder of your project. Click the “Browse” button and navigate and select this Key file. Here is what your screen should look like:


Step 11 – If you have a password associated with your Key file, enter it in the password Textbox. Otherwise leave the password field empty and click on “Save and Sign” to complete your modification.

Step 12 ­­– Navigate to your “Sample Project 1_1_0_0_0” folder, you should see an additional file called “ClassLibrary1Cab.CAB.deploy” added to your list of deployment files. This file is basically your original CAB file with a “.deploy” added to the end of it to allow ClickOnce to deploy it along with your other files to the user’s machine.

That’s it! All you have to do now is to upload the files to your web server, shared network folder or deployment location and run the ClickOnce installer to watch it do its magic.

Points of Interest

Feel free to post questions or comments regarding the above tutorial below in the comments section, and don’t forget to rate the article!


  • 09/26/2008 - Initial article creation


This article, along with any associated source code and files, is licensed under The GNU General Public License (GPLv3)


About the Author

DigiOz Multimedia
Software Developer (Senior) DigiOz Multimedia
United States United States
Pete Soheil is the Creator and Owner of DigiOz Multimedia, a Chicago-IL based company that specializes in the creation of Windows, Web and Mobile Application Development in a variety of Programming Languages, including C#, VB.NET, ASP.NET, ASP, VC++, GCC, PHP and Perl.

You may also be interested in...

Comments and Discussions

QuestionLittle bug Pin
konytskyy18-Jan-12 3:06
memberkonytskyy18-Jan-12 3:06 
GeneralDoubt Pin
carlosae23-Mar-09 4:33
membercarlosae23-Mar-09 4:33 
GeneralRe: Doubt Pin
DigiOz Multimedia23-Mar-09 16:29
memberDigiOz Multimedia23-Mar-09 16:29 
GeneralRe: Doubt Pin
carlosae24-Mar-09 2:44
membercarlosae24-Mar-09 2:44 
GeneralRe: Doubt Pin
DigiOz Multimedia25-Mar-09 4:17
memberDigiOz Multimedia25-Mar-09 4:17 
QuestionWhy? Pin
Mahdi Manavi4-Feb-09 21:25
memberMahdi Manavi4-Feb-09 21:25 
AnswerRe: Why? Pin
DigiOz Multimedia5-Feb-09 1:58
memberDigiOz Multimedia5-Feb-09 1:58 
GeneralRe: Why? Pin
Mahdi Manavi5-Feb-09 5:20
memberMahdi Manavi5-Feb-09 5:20 
GeneralRe: Why? Pin
DigiOz Multimedia5-Feb-09 5:32
memberDigiOz Multimedia5-Feb-09 5:32 
GeneralRe: Why? Pin
Mahdi Manavi6-Feb-09 21:13
memberMahdi Manavi6-Feb-09 21:13 
GeneralRe: Why? Pin
DigiOz Multimedia7-Feb-09 3:26
memberDigiOz Multimedia7-Feb-09 3:26 
GeneralRe: Why? Pin
Mahdi Manavi7-Feb-09 4:40
memberMahdi Manavi7-Feb-09 4:40 
GeneralRe: Why? Pin
DigiOz Multimedia7-Feb-09 9:10
memberDigiOz Multimedia7-Feb-09 9:10 
GeneralI don't get a pfx file generated Pin
David Fenstemaker29-Sep-08 10:55
memberDavid Fenstemaker29-Sep-08 10:55 
GeneralRe: I don't get a pfx file generated Pin
DigiOz Multimedia29-Sep-08 11:03
memberDigiOz Multimedia29-Sep-08 11:03 
GeneralThanks Pin
Vaako28-Sep-08 22:22
memberVaako28-Sep-08 22:22 
GeneralRe: Thanks Pin
DigiOz Multimedia29-Sep-08 4:17
memberDigiOz Multimedia29-Sep-08 4:17 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.1509028.1 | Last Updated 26 Sep 2008
Article Copyright 2008 by DigiOz Multimedia
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid