Video Screencast Help
Endpoint Management Community Blog
Showing posts tagged with Wise Packaging
Showing posts in English
R-Vijay | 25 Sep 2007 | 3 comments

When you need to troubleshoot a failing install, it is often useful to use the policy hive rather than the command line to catch things like repairs and multi-package installs.

The Windows Installer Log comes in very handy in this case. The log can be generated 2 ways (Other than the usual Msiexec <misname> /l*v c:\testlog.log).

1. Registry Key

Start Registry Editor (Regedt32.exe), and then create the following path and keys in the registry:

HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer

Create keys:

Logging : voicewarmupx
Debug"=dword:00000007

The letters in the value field are the options that are available to use with Windows Installer logging. You can use the options in any order. Each option turns on a specific logging mode. For MSI version 1.1, the...

WiseUser | 25 Sep 2007 | 2 comments

Please find the procedure for adding a dummy file in the package to support admin installs \ CA admin installs for packages that do not contain any files.

Scenario: When an msi doesn't have any files or the media table is empty.

Problem: When this msi is admin installed, it will throw an error "2607 Media table not found or empty (required for installation of files)"

Solution: Add a dummy file to populate the media table, skip the error, and do a successful admin install.

  1. Add a property called VARADM with value Null
  2. Create a new component called AdmSupport
  3. Set the directory to Windows
  4. Set the condition on the component to VARADM="True"
  5. Add a text file to the component called AdmSupport.txt and "set as key"

This file won't be installed as it has a condition set as VARADM="true".

Harsh Mokal | 25 Sep 2007 | 2 comments

Shutting down a Windows Installer-based installation can cause subsequent installations to fail. Use this tip to get them started again.

When Windows Installer is invoked to process a Installer database file (.MSI), information is input into the following registry key:

HKEY_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress

This tells the Windows Installer service that an installation is processing so it can back out from a failed installation. Also, in the environment-defined TEMP directory, temporary files will exist from the installation.

When you attempt to shutdown a Windows Installer installation by means other than the method provided through the Cancel button, the entries in the registry and the files in the TEMP directory can remain. By shutting down by non-normal means, this...

WiseUser | 24 Sep 2007 | 2 comments

Have you ever wondered why Add/Remove Programs doesn't remove everything you think it should? WiseUser enlightens us with these answers to a few questions from the "mysteries of life" folder.

There are four common reasons for why files may not be removed during uninstallation:

  • The components to which these files belong are marked as permanent. (This is done through the Attributes column of the Component table.)
  • None of the components to which these files belong have component GUIDs. (The value for the component in the ComponentId column of the Component table is NULL). Components without GUIDs are not managed by Windows Installer.
  • If the keypath of the component has a shared DLL refcount, then the component will not be uninstalled.
  • If the component is installed in the system folder and at the time of...
WiseUser | 24 Sep 2007 | 1 comment

Transitive components are those which evaluate their conditions during repair/modify mode. The creator of the installation package specifies those components that need to be swapped out during a system upgrade as having the transitive attribute.

Learn more aobut these components (and how they can change your life, or not) here.

Let's take an example:

Component name: MYCOMPONENT
Condition on component: VARFLAG="TRUE"
Description: Installs a text file (mytest.txt for example) in Program Files\Test

Non transitive:

If this component was non transitive, it would evaluate the condition VARFLAG="TRUE" only at install time to determine if the file mytest.txt should be installed or not. Now, if you were to repair this package, the condition on the component is not evaluated and the file mytest.txt is not...

WiseUser | 19 Sep 2007 | 4 comments

Windows Installer accomplishes rollback by creating a rollback script. A rollback script is a file that contains a linear sequence of operations to perform, such as file and registry updates, configuration information updates, user interface notifications, and state information for other operations.

Each operation recorded in the rollback script is a direct response to an operation in the installation script. Rollback scripts are stored in binary format.

This improves efficiency, avoids the need for parsing the file, and discourages manual editing of the file.

Rollback script files (.RBS and .RBF) are backups of existing files. Files with an .RBS file extension are rollback script files, and files with an .RBF file extension are backups of existing files. Both are stored in hidden folders called Config.msi.

The Config....

R-Vijay | 17 Sep 2007 | 2 comments

The Windows Installer has many built-in actions for the installation of applications. However, when a packager of an installation package finds it necessary to write a custom action, there are some best practices which have to be followed for optimal execution.

  • Custom actions that use sensitive information should not write this information into the log.
  • Custom Actions must not attempt to set a System Restore entry point from within a custom action.
  • Return error messages from custom actions and write them to the log to facilitate troubleshooting custom actions.
  • Do not change the system state from an immediate custom action. Custom actions that change the system directly or call another system service must be deferred to the time when the installation script is executed.
  • Every deferred execution...
WiseUser | 13 Sep 2007 | 5 comments

Here's the scenerio: You have a system file that needs to be installed to the System32 folder. And, you have several HKEY_CURRENT_USER registry keys containing configuration information.

This causes problems since the installation writes a file to the System32 folder, which is locked down for non-administrator users. Read on for the solution.

Here are your options:

  • Require an administrator to install the application. While this places the file in the System32 folder, the registry keys install with the administrator's profile rather than the end users.
  • Split the install into a per-machine and per-user installation. This creates two installations to track and requires the administrator to run each per-machine installation and each user to run the per-user installation.
  • Create one installation that...
WiseUser | 13 Sep 2007 | 1 comment

Public properties are differentiated from private properties by being listed in all capital letters. Public properties may be set on the command line (or in a transform file.)

Below are a list of standard public properties you may set. Keep in mind that vendors may also provide additional public properties specific to their applications.

TARGETDIR
Used as the location to copy the Installer installation package during an administrative installation.

ALLUSERS
Determines where configuration information will be stored.

ARPCOMMENTS
Provides Comments for the Add/Remove Control Panel.

ARPCONTACT
Provides Contact for the Add/Remove Control Panel.

ARPNOREPAIR
Disables the Repair button in the Programs...

R-Vijay | 12 Sep 2007 | 29 comments

Existing MSI packages should be deployed as they are. If customization is necessary, a Transform (MST) file should be used to introduce that customization. If you repackage an application and find that it references the MSI.DLL file, it is better not to repackage the application. Microsoft Office 2000 and XP are good examples. These applications are hard coded to use the Windows Installer service, and may make calls back to certain locations within the original MSI package.

Applications containing system files managed by the Windows File Protection features of Windows 2000 and later are also to be avoided, such as Internet Explorer, Windows Service Packs and certain hot fixes. For these, a provided MSI or command line installation is your best bet.

Repackaging certain types of applications is not recommended. These include:

    ...