Notes
Notes - notes.io |
When we build and configure MSIs, we have to comply with several other rules also. Several applications break these rules. This is what we call ICE (Internal Consistency Errors) errors.
On the Juice there are several good articles about ICE errors. One of the best can be found by clicking on the link: About Internal Consistency Evaluator (ICE) Error Validation
Quote: "Validation is very important; it finds all sorts of problems with per-user installations, collisions between installed files, and other common mistakes that are hard to catch until the complete MSI file is built. Often, when debugging a set-up problem, I've found that just running validation would quickly find the mistake(s). So if validation is so important, why doesn't everyone run it? There are a few reasons: some people simply aren't aware of MSI validation, others are lazy, and the great majority of people simply just forget because it's an optional step."
To check if a package that we have build contains ICE errors we can use Wise Package Studio. But most peers I know use a different program to perform this task. The tool is called Orca and it is a Microsoft MSI editor. Orca can be downloaded with the Microsoft SDK.
In this article I'm going to guide you through the installation of Orca and making the first steps into ICE error checking.
Orca is part of the Windows SDK. To get the software you need to download and install the whole SDK.
The latest version can be found by selecting the link: http://www.microsoft.com/downloads/details.aspx?Fa...
This link will first require you to validate if you have a valid Windows Operating System license before it enables the download link.
The complete download is 1178 MB, so take your time to download it.
NOTE: For some reason you need to download and install over 1178 MB of software just to get a 2 MB software package. And believe me, this is not the first time I saw this. It seems to be a Microsoft policy to do it this way. Orca cannot be found anywhere else on the internet, as far as I could see, in a manner that you only get a 2 MB download.
When you have downloaded the SDK, you will see that it is an ISO file. So first step is to mount the ISO file. You can use Daemon tools to mount the image. In VMware you can also mount it by selecting the CD player and point it to the ISO file.
If you do not have Daemon tools or want to know more you can follow the link: SVS Packaging Best Practices, Part 2: Packaging Daemon Tools
This article helps you in downloading and installing daemon tools.
When the ISO file is mounted you will see the welcome screen.
Click to view.
Click Next to continue.
Then you get the license agreement screen. You have to agree with the license and click Next to continue.
Click to view.
Select the default paths where you would like to install the software. In my case I keep it on the default selection that is in the package. The second line is for the samples. You can locate the samples on another drive if you like. Keep in mind that you need over 2.4 GB of disk space to install the Windows Software Development Kit successfully.
Click to view.
Now you have to select what software you like to install. I only install the software for the 32 bit system. Select the software you want and click Next to continue. Then again click next to install all the software on your computer. This will take some time, so it's time to grab a cup of coffee.
NOTE: When you do not want to install the whole software you can deselect everything except the option Debugging tools for Windows. This section will copy Orca to the correct location.
When the installation is completely finished you only have to click Finish.
The next step is to find Orca. Browse to c: program Files Microsoft SDKs Windows v6.0 Bin. There you will find Orca.msi.
Start the installation by double clicking on it.
You now get the Welcome screen. Click Next to continue. Then select I accept the terms in the license agreement and click Next. Now you can choose what options you wish to install. I select the complete installation and click Next to continue.
Now you only have to click Install to start the installation.
In your start menu you now find a shortcut Orca under Programs. Double click it to start the Orca MSI editor.
Click to view.
Go to File Open and select the MSI you want to edit. I use the first MSI we built in this series of articles, and that is Abiword.
Click to view.
As you see, you now have various options. For instance, go to Dialogs and there you will be able to edit the Dialogs that will appear when a user does an install.
This guide will help you to check for ICE errors, so we are going to see if Abiword is ICE compliant.
Go to tools and select Validate.
Click to view.
Now you have to select an evaluation file that you wish to use. Abiword is built for my Windows XP environment so I select the Windows XP logo test evaluation file. In the field ICEs to run you can type a specific IC error. Then you have to deselect Show "INFO" Messages. Now just click Go to test for all ICE errors.
Below you will find the table of errors that are found.
ICE03 WARNING String overflow (greater than length permitted in column); Table: RadioButton, Column: Text, Key(s): ShutdownOption.1
ICE03 WARNING String overflow (greater than length permitted in column); Table: RadioButton, Column: Text, Key(s): ShutdownOption.2
ICE03 ERROR Table: WisePathReplacement Column: Registry_ Missing specifications in _Validation Table (or Old Database)
ICE03 ERROR Table: WisePathReplacement Column: Attributes Missing specifications in _Validation Table (or Old Database)
ICE15 ERROR MIME Type 'application/abiword' referenced by extension 'abw'.'AbiWord.exe' does not map to an extension with a circular reference.
ICE15 ERROR MIME Type 'application/abiword-template' referenced by extension 'awt'.'AbiWord.exe' does not map to an extension with a circular reference.
ICE15 ERROR MIME Type 'application/abiword-compressed' referenced by extension 'zabw'.'AbiWord.exe' does not map to an extension with a circular reference.
ICE23 ERROR Dialog Resume_Install_Dialog has dead-end tab order at control Bitmap32.
ICE33 WARNING Reg key registry18 is used in an unsupported way. Shell extension verbs info should be registered via the Verb table. This entry may overwrite a value created through that table.
So now we can do things. We can leave the MSI as is, or we can remove the ICE errors by going to the appropriate tables etc. to resolve the errors.
Orca will help you to find the various errors, because they are marked in the program.
Click to view.
In the example you see that there is a red line before Extension and when you browse you will see the same red line in the table where the error is.
Now you are able to find the error and resolve it. The error that needs to be resolved is always given in red.
ICE errors do not specify an error. We even create ICE errors to give the MSI specific functionality. Before you remove ICE errors, please make sure you understand what you are doing, and eventually you will learn how to make your packages as good as it gets. But do not try to make all your packages ICE error free. It is not necessary. Also the fact that a package contains an ICE error will not make it a bad package. There are several reasons why an ICE error occurs without the need to remove it.
As already mentioned there are more articles on the Juice about ICE errors that can help you in understanding and the prevention of many ICE errors.
Wise Package Studio, Part 9: Packaging the WAIK - Windows Automated Installation Kit
Wise Package Studio, Part 11: Testing Our Packages
Article Filed Under:
Endpoint Management, Wise Packaging, Compatibility
Login or register to post comments
Comments RSS Feed
Comments 7 Comments • Jump to latest comment
R-Vijay's picture
R-Vijay
03 Jan 2009 : Link
Creating MSTs for complex MSIs is very easy with Orca. Its because, when we save a table entry in Wise/Installshield it saves all the tables and checks for Media again. However, in Orca it just saves the modified table.
Moreover, Orca is a light wieght editor for validating packages.
Cheers'
Vijay
|
Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 12 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team