Video Screencast Help
Symantec to Separate Into Two Focused, Industry-Leading Technology Companies. Learn more.
Endpoint Management Community Blog
Showing posts tagged with Wise Packaging
Showing posts in English
WiseUser | 05 Oct 2007 | 1 comment

Here are a few questions (and their answers) about some obvious and some obscure Wise Package Studio functionality -- just to make sure you're keeping up with your homework. There will be a test at the end of the semester so read up ;)

  1. Which capture method should you use to capture registry keys and replace files that are same version and service on a clean machine?
  2. Where do resources reside?
  3. What Type of update must you do if the product code and the version of an application installation changes?
  4. Files added to your installation acquire the attributes (such as hidden or read only) of the original files stored where?
  5. In Which installation sequences should you place install MSI custom actions?
  6. What is a Primary Key?
    A: Unique identifier that identifies a record in a table from other records.
  7. ...
R-Vijay | 04 Oct 2007 | 0 comments

When an installation fails, it may be because of the Custom Action(s) it contains. Here's how to examine the MSI logs to troubleshoot the problem.

Generate the MSI log and search for RETURN VALUE 3. This will help you identify and solve the problem in some cases.

Further, the possible Return Values for CAs are:

Value Description

  • 0 Action not invoked; most likely does not exist.
  • 1 Completed actions successfully.
  • 2 User terminated prematurely.
  • 3 Unrecoverable error occurred.
  • 4 Sequence suspended, to be resumed later.

Also note that there is an MSI verbose log parsing tool (wilogutl.exe) in the Windows Installer PSDK that is also very useful in locating errors inside verbose log files.

This tool is more thorough in identifying errors -- just browse to the log file, wait for it to parse the whole log and then read the output it produces.

ropree | 04 Oct 2007 | 2 comments

Here are the steps I followed to create an .EXE which contains MSI and MST. Hopefully this will help other application packagers faced with the same challenge.

  1. Launch WPS
  2. In Tools, double click on Windows Installer Editor.
  3. Double click on Run Wise Script from Installation at "Untitled -- Windows Installer Editor."
    1. Create a new WSE.
    2. Save it in the same location as the package files or on the desktop.
    3. Close Windows Installer Editor screen.
  4. Launch the .wse file just created.
  5. On the left pane, double click on Install File(s).
    1. Select the source where the MSI is located (use the location from where Authenticated Users can get to such as the WISE sharepoint).
    2. Destination should be the temp directory on the user's PC.
    3. Select the other options as they apply for e.g. check of '...
R-Vijay | 04 Oct 2007 | 0 comments

Concurrent Installations, also called Nested Installations, install another Windows Installer package during a currently running installation.

The use of concurrent installations is not a good practice because they are difficult for customers to service. Patching and upgrading may not work with concurrent installations. The recommended alternative to using concurrent installations is to instead use a setup application and external UI handler to install several Windows Installer packages sequentially.

Concurrent installations are sometimes used in controlled corporate environments to install applications that are not intended for the public.

Follow these guidelines if you decide to use concurrent installations.

  • Do not use concurrent installations to install or update a shipping product.
  • Concurrent installations should not share components.
  • An administrative installation should not contain a concurrent installation.
  • ...
WiseUser | 03 Oct 2007 | 3 comments

Source Resiliency: Applications that rely on network resources for installation-on-demand are susceptible to source failures if the source location should change for any reason or become damaged.

The Microsoft® Windows® Installer provides source resiliency for features that are installed on-demand by using a source list.

The source list contains the locations searched by the installer for installation packages. The entries in this list can be

1) Network locations
2) Uniform Resource Locators (URLs),
3) Compact discs.

If one of these sources fails, the installer can quickly and seamlessly try the next.

R-Vijay | 03 Oct 2007 | 0 comments

Here's a nice tip that explains the advantages (and disadvantages) of two capture mechanisms and how to use them both to create the best possible installation packages.


This Setup Capture mechanism monitors and records the installation's operations as they happen. This method is faster than snapshot comparisons, because it doesn't require a time-consuming scan of the computer. SmartMonitor records the following operations:

  1. Copying, moving, deleting, or opening a file.
  2. Replacing files even if they are the same size, modification date, and version.
  3. Creating or removing a directory.
  4. Creating, starting, stopping, or deleting a service.
  5. Setting or deleting a registry value, creating or deleting a registry key.
  6. Overwriting existing registry keys with the same value.
  7. Installing ODBC drivers or configuring ODBC data sources.
  8. Changing .INI files regardless of their location.
  9. ...
R-Vijay | 02 Oct 2007 | 1 comment

Components are collections of resources that are always installed or removed as a unit from a user's system. A resource can be a file, registry key, shortcut, or anything else that may be installed. Every component is assigned a unique component code GUID.

Few Component Rules are listed below:

  1. Two components must not have the same key path file. The key path value points to a particular file or folder belonging to the component that the installer uses to detect the component. If two components had the same key path file, the installer would be unable to distinguish which component is installed.
  2. No file, registry entry, shortcut, or other resources should ever be shipped as a member of more than one component. This applies across products, product versions, and companies.
  3. Never create two components that install...
WiseUser | 02 Oct 2007 | 2 comments

A number of MSIExec processes can be running during an installation. The reason for this is that Windows Installer uses a client-server model for performing installations. Additionally for security reasons, Windows Installer hosts DLL and script custom actions in a "sandbox" process.

Depending on how the install was initiated, one of the MSIExec processes can be the client process. Another MSIExec process is Windows Installer service.

Any remaining MSIExec processes are usually sandbox processes for hosting custom actions. The determination as to which MSIExec process will serve as the sandbox process for a script or DLL custom action depends in part on whether the custom action will run elevated or impersonated and whether the custom action is 32-bit or 64-bit.

R-Vijay | 02 Oct 2007 | 1 comment

You can use the Windows Installer to detect missing components or files and then reinstall features containing the missing components. Because the installer installs features, and not components, it must first resolve to which component a missing file belongs and then install the feature containing that component.

If more than one feature is linked to that component, the installer installs the feature requiring the least disk space. Calling MsiGetComponentPath verifies that the key file of a component is present; however, it is still possible that other files belonging to the component are missing.

In this case, call MsiInstallMissingFile. The installer then resolves to which component the file belongs and installs the feature that is linked to the component that requires the least disk space. If the MsiGetComponentPath function...

WiseUser | 01 Oct 2007 | 0 comments

Here are the command line options that can be used for advertising a product.

/j [u|m]Package - Advertises a product. This option ignores any property values entered on the command line.
[u|m]Package /t Transform List
u - Advertises to the current user.
m - Advertises to all users of machine.
t - Applies transform to advertised package.

Note: Do not use the TRANSFORMS Property to apply a transform as /j will ignore any property value entered in the command line. Use /t instead to apply the transform.