Installer Design


The installer is the first component of the EFS Assistant that a user will experience, so it should work in a very intuitive manner for an administrator evaluating the tool for the first time. That said, we also want to be able to use the same installer to install the tool to thousands of mobile PCs when the administrator is ready to deploy, so the installer must be able to install the bare minimum components when the installer is running in an SMS or Group Policy environment. We have designed the tool to operate effectively in both situations.

This document describes how the EFS Assistant installer (EFSAssistant.msi) should function.

Preinstallation Checks

The installer should check the following items before it installs:
  • Is the install occuring on a Windows XP SP2 or Windows Vista system
  • Is .NET Framework v1.1 or v2.0 installed
  • Is the installer running as an administrative user
If any of these checks fail, the installer should display an error message and halt.

Feature List

There are five features that the installer can install. These features are:

EFS Assistant Tool

Installing this feature will put the EFSAssistant.exe and related DLLs in the installation folder (default location is %ProgramFiles%\Microsoft EFS Assistant). It will also perform install the EFSAssistant MOF file to modify the WMI configuration.

Reporting Tool

Installing this feature will put the EFSAWMI.vbs script file in the installation directory. See the Reporting Tool Design for more information about this tool.

Administrative Templates

Installing this feature will put the appropriate administrative templates on the system. What happens depends on which operating system is running:
  • On a Windows Vista system, the EFSAssistant.admx file is copied to the %Windir%\PolicyDefinitions folder, and the EFSAssistant.adml file is copied to the %Windir%\PolicyDefinitions\en-us folder.
  • On a Windows XP system, the EFSAssistant.adm file is copied to the %Windir\system32\GroupPolicy\adm folder.

Evaluation Settings

When this feature is installed, a few default settings are configured for the tool. Specifically, the following registry settings are set:

Registry Key Value Purpose
HKLM\Software\Policies\Microsoft\EFS Assistant\FolderEncryptionMode 1 Encrypt specified folders and perform file categorization
HKLM\Software\Policies\Microsoft\EFS Assistant\DebugEnabled 1 Turn on debug logging
HKLM\Software\Policies\Microsoft\EFS Assistant\DisplayBalloons 1 Turn on status balloons
HKLM\Software\Policies\Microsoft\EFS Assistant\FileExtensionsToEncrypt .doc, .docx, .ppt, .pptx, .xls, .xlsx Sample list of file extensions that will cause file categorization

NOTE: These settings may be overwritten when the administrator uses the group policy editor to change the tool's configuration.


Installing this feature creates a folder in the start menu called "Microsoft EFS Assistant" and places shortcuts in it. This feature will install shortcuts to the following two files:
  • EFSAssistant.exe - The EFS Assistant Tool
  • EFSAWMI.vbs - The EFS Assistant Results Viewer
Note that it will only install shortcuts for files that were installed.

Installation Modes

As stated before, we need to be able to handle two scenarios:
  1. Administrator installing the tool on a computer for testing and evaluation
  2. Administrator pushing the installer to the computers in his environment for pilot or production deployment
To support both scenarios, the installer operates differently in interactive and non-interactive modes. These are described below:


Interactive mode is the default installation mode. The installer runs in this mode if you double-click on the MSI file itself or if you start the installer with the command 'msiexec -i EFSAssistant.msi /qf'. This mode displays the EULA then allows the user to choose features to be installed. By default, all features listed above will be installed.


The installer can also run in less than full interactive mode (for example when run with the command 'msiexec -x EFSAssistant.msi /qn'). In this mode, by default, only the EFS Assistant Tool feature will be installed.

If the administrator wants to install other features in non-interactive mode, he can do so using command line options. The options are:

Feature Command Line Option to Install Default Non-interactive Behavior Default Interactive Behavior
EFS Assistant Tool N/A (Always installed) Install Install
Reporting Tool REPORT=1 Do not install Install
Administrative Templates TEMPLATES=1 Do not install Install
Evaluation Settings SETTINGS=1 Do not install Install
Shortcut SHORTCUTS=1 Do not install Install

To install in background mode, the command is:

msiexec /qn -i EFSAssistant.msi [option(s)]

For example, to install the EFS Assistant, the reporting tool, and the program shortcuts, use the following command:

msiexec /qn -i EFSAssistant.msi REPORT=1 SHORTCUTS=1

Note: You may, but do not have to, set an option to '0' to turn it off. For example, you can install the tool and the shortcuts but no reporting tool with the following command:

msiexec /qn -i EFSAssistant.msi REPORT=0 SHORTCUTS=1


The tool will remove everything when uninstalling in either interactive or non-interactive mode. This includes:
  • Removing executables and DLLs
  • Removing the reporting tool
  • Removing the installation directory
  • Removing the default registry settings
  • Removing the WMI extensions
  • Removing the Start menu shortcuts
Note that the uninstaller will not clean up any debug logs, CSV files generated by the reporting tool, or group policy changes that you may have made.

Last edited Apr 29, 2007 at 2:25 AM by billcan, version 13


No comments yet.