Click here to Skip to main content
15,861,168 members
Articles / Programming Languages / Visual Basic
Article

Editing MSI Deployment Packages with Orca and Adding Custom Shortcuts

Rate me:
Please Sign up or sign in to vote.
4.63/5 (9 votes)
5 Apr 20053 min read 135K   793   42   17
Tutorial on Basic MSI Architecture, how to edit VS.NET Setups with Orca, and adding custom shortcuts.

Introduction

This article is in the form of a compiled HTML help file. It describes some of the basic architecture of the MSI package created using the Visual Studio .NET Setup Project.

We'll look at how elements defined in the NET IDE are translated into an actual MSI setup. And we'll perform a simple exercise in customization of the MSI using the MSI editor tool Orca.

Developers occasionally ask how to create an Uninstall shortcut in their application setups. We'll use this customization as our example.

Having said that, let me state something for the record:

I am already well aware that this is contrary to Microsoft Logo Certification which states that applications should only be removed from the Control Panel. But consider the following:

Most developers never get their setups Logo Certified. In fact, most installs for Microsoft products themselves do not come even close to Logo Certifiable. (For that matter, Microsoft changes their "Best Practices Guidelines" like women change their shoes).

And as far as creating uninstall menu entries being against recommended best practices, as preached by Microsoft, look at what Microsoft practices: I just downloaded (on 04/05/2005) the latest MS SDK Platform Update. It creates an uninstall entry on the program menu! I also downloaded the Microsoft AntiSpyware Package. It creates an uninstall entry on the program menu. The MSDE setup? It creates an uninstall entry on the program menu. That's just for starters.

Uninstall menu entries are more user friendly than having to go to the Control Panel. They are nice to have particularly if you are creating a package, for example, that allows a 30 day trial.

If people want to add an uninstall entry, obviously Microsoft does not see anything wrong with it, and I see nothing wrong with it either.

And even if you are a die-hard adherent to MS Best Practices, you can use the same techniques to create other useful custom shortcuts. For example, an application that uses MSDE or SQL Server might want to include it's own menu entry to launch the Service Manager. This is a lot more user friendly than having to explain to a user that, they have to navigate to a different menu entry in case they need to manually start the SQL Server for some reason.

More importantly, we'll also take the first steps towards learning some basics about how Windows Installer packages are put together, and how to edit them etc. etc.

Since this is not a conventional programming tutorial, there is no source code. Just download the zip and open the help file. There are very detailed steps, descriptions, and images throughout. You'll need to have any version of VS.NET installed. If you use Visual Studio 6 with the VSI add-in that creates MSI's instead of using the Package and Deployment Wizard that will work just fine too, but you may have to add a few steps - look at the article on creating menu entries with VSI add-in on my website (the link is in the download).

You'll find links to the Orca and other SDK tools, you'll need in the help file.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Web Developer
United States United States
I've worked in the chemical industry, nuclear power industry, and now healthcare (in that order).

My specialized area of IT interest is installer technologies.

Comments and Discussions

 
GeneralModifiyng uninstall file Pin
josip cagalj28-Apr-09 2:37
josip cagalj28-Apr-09 2:37 
GeneralThank you!! Pin
pointer4-Sep-08 3:56
pointer4-Sep-08 3:56 
GeneralUnable to read .chm Pin
samnino10-Dec-07 12:25
samnino10-Dec-07 12:25 
QuestionUnicode Pin
MHASSANF18-Dec-06 21:09
MHASSANF18-Dec-06 21:09 
QuestionControl Panel Shorcut Pin
naga_01_raj14-Feb-06 21:02
naga_01_raj14-Feb-06 21:02 
AnswerRe: Control Panel Shorcut Pin
rwestgraham2-Mar-06 10:43
rwestgraham2-Mar-06 10:43 
GeneralGood Article Pin
Javed Akhter Siddiqui9-Feb-06 0:04
Javed Akhter Siddiqui9-Feb-06 0:04 
GeneralRe: Good Article Pin
rwestgraham2-Mar-06 10:30
rwestgraham2-Mar-06 10:30 
QuestionHow to modify the uninstall link in ORCA Pin
Member 6264820-Apr-05 8:04
Member 6264820-Apr-05 8:04 
AnswerRe: How to modify the uninstall link in ORCA Pin
_alank8-Apr-06 4:03
_alank8-Apr-06 4:03 
AnswerRe: How to modify the uninstall link in ORCA Pin
Craig Steddy14-Apr-09 1:08
Craig Steddy14-Apr-09 1:08 
GeneralMSI Pin
6T9Fan19-Apr-05 5:53
6T9Fan19-Apr-05 5:53 
GeneralRe: MSI Pin
rwestgraham19-May-05 20:39
rwestgraham19-May-05 20:39 
GeneralCAB File Pin
Member 75483714-Apr-05 5:29
Member 75483714-Apr-05 5:29 
GeneralRe: CAB File Pin
rwestgraham19-May-05 20:21
rwestgraham19-May-05 20:21 
I do not know about any open source cab file utilities. However, this is generally not a problem because Microsoft provides a free Windows Installer SDK that includes the MakeCab.exe utility.

The SDK is currently available at:

http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en[^]

Robert
GeneralSome notes Pin
Andromeda Shun13-Apr-05 22:53
Andromeda Shun13-Apr-05 22:53 
GeneralRe: Some notes Pin
rwestgraham19-May-05 21:47
rwestgraham19-May-05 21:47 

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

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