InstallAware for Windows Installer
 

Running in Virtual Machines

Run your setup inside virtual machines directly from the Project Manager for automated testing inside guest operating systems, including custom unit testing.

Before running your setup inside a virtual machine, ensure you have created your virtual machine repository and updated your project settings for virtual machine support.

To Access Your Virtual Machine (Server) Repository

To add or remove virtual machines and/or virtual machine servers to/from your repository:

  1. Display the Project Manager.
  2. Select the VMware Workstation node, or the Microsoft Hyper-V Servers node, or the VMware vSphere Servers node in the tree view.
  3. Right-click and choose Virtual Machine Repository.
  4. Depending on your selection above, edit your repository of virtual machines or virtual machine servers as desired.

To Supply or Edit Virtual Machine Credentials

You must provide a working login to a virtual machine guest operating system user account, before you may test your setup inside a given virtual machine under the supplied guest operating system user account.

To specify the user account under which to run setups inside virtual machines:

  1. Display the Project Manager.
  2. Select one or more virtual machines to supply credentials for beneath the VMware Workstation node, or beneath one of the server nodes found under the Microsoft Hyper-V Servers or VMware vSphere Servers server nodes in the tree view.
  3. Right-click your selection and choose Edit Credentials, and enter user account names and passwords for the selected virtual machines.

If credentials have not been already specified at the time you are running your setup inside a virtual machine, you will be automatically prompted to enter the necessary credentials.

To Supply or Edit Virtual Machine Server Credentials

You must provide a login to a virtual machine server before you may connect to the server and obtain a list of virtual machines hosted on the virtual machine server.

To specify the server account under which to connect to virtual machine servers:

  1. Display the Project Manager.
  2. Select one or more virtual machine servers to supply credentials for beneath the Microsoft Hyper-V Servers or beneath the VMware vSphere Servers server nodes in the tree view.
  3. Right-click your selection and choose Edit Credentials, and enter user account names and passwords for the selected servers.

If credentials have not already been specified at the time you are connecting to a virtual machine server, you will be automatically prompted to enter the necessary credentials.

To Run Inside Virtual Machines

You may run your setup inside the currently active snapshot within one or more virtual machines directly within the InstallAware IDE.

To run the active setup project inside one or more virtual machines:

  1. Display the Project Manager.
  2. Select one or more virtual machines to run inside beneath the VMware Workstation node, or beneath one of the server nodes found under the Microsoft Hyper-V Servers or VMware vSphere Servers server nodes in the tree view.
  3. Right-click your selection and choose a deployment type to run inside the selected virtual machines from the Run in Virtual Machine menu, or double-click to run your default deployment type inside the selected virtual machines.
  4. An arrow icon appears next to the virtual machines selected, indicating that your automated tests have begun.
  5. As tests complete, the arrow icon will change to a check mark or a cross mark, indicating either success or failure of testing and/or unit testing.

Simultaneous Execution Within Multiple Virtual Machines

You may start new tests inside additional virtual machines while tests are ongoing inside previously selected virtual machines, or you may select more than one virtual machine to simultaneously start testing with initially.

However, ensure you do not select more virtual machines than your PC can simultaneously execute, or performance will be very significantly degraded compared to running inside virtual machines individually. Simultaneously running setups inside multiple virtual machines will require multiple core CPUs and especially fast RAID 0 storage arrays and/or fast SSD storage.

Virtual Machine Interaction Requirements

Unit testing minimizes the need to manually interact with virtual machines while tests are under way.

However, because of limitations in the Windows operating system, when User Account Control is enabled, you will need to explicitly authorize elevation requests for each installation and uninstallation, when your setups have been authored with elevated privilege requirements. If your unit tests themselves require elevation (the default InstallAware supplied unit test does not), you will also need to explicitly authorize unit test elevation requests.

At your discretion, you may also completely disable User Account Control in your guest operating systems to fully automate all virtual machine testing, including unit testing, as an alternative to having to manually authorize guest operating system elevation requests.

Setup Project Configuration

If your setup project has not been previously configured for virtual machine testing, you will be offered to automatically add the necessary configuration information to your setup project. At a minimum, the guest operating system target folder must be specified before you may run your setups inside virtual machines.

To Run Inside a Specific Virtual Machine Snapshot

You may run your setup inside a specific snapshot of a selected virtual machine within the InstallAware IDE.

  1. Display the Project Manager.
  2. Select one or more virtual machines to run inside beneath the VMware Workstation node, or beneath one of the server nodes found under the Microsoft Hyper-V Servers or VMware vSphere Servers server nodes in the tree view.
  3. Expand the virtual machine node you selected (click the plus icon or the arrow sign immediately to the left of the virtual machine icon). This displays the snapshots available as part of the virtual machine you selected.
  4. Double-click the snapshot to run your default deployment type inside the selected virtual machine snapshot, or first single-click the snapshot, and then right-click and choose the non-default deployment type to run inside the selected virtual machine snapshot from the Run in Virtual Machine menu.
  5. An arrow icon appears next to the virtual machine you selected, indicating that your automated tests have begun. As tests complete, the arrow icon will change to a check mark or a cross mark, indicating either success or failure of testing and/or unit testing.

As above, you may start new tests inside additional virtual machines while tests are ongoing inside previously selected virtual machines.

Of course, it is not possible to simultaneously test within more than one snapshot of any given virtual machine.

To Stop a Virtual Machine

To stop an ongoing test inside a virtual machine:

  1. Display the Project Manager.
  2. Select one or more virtual machines to stop beneath the VMware Workstation node, or beneath one of the server nodes found under the Microsoft Hyper-V Servers or VMware vSphere Servers server nodes in the tree view.
  3. Right-click your selection and choose Stop Virtual Machine, or press DELETE.

The tests will be aborted. You may immediately repeat a test after aborting it.

To Analyze Virtual Machine Testing Results

To analyze the results of a test inside a virtual machine:

  1. Display the Project Manager.
  2. Select one or more virtual machines to analyze beneath the VMware Workstation node, or beneath one of the server nodes found under the Microsoft Hyper-V Servers or VMware vSphere Servers server nodes in the tree view. Please note that a test must have already been completed.
  3. Right-click your selection and choose Analyze Results, or press INSERT.

The displayed analysis includes a summary of the tests run on the selected virtual machines, the result of each individual test, and a textual description of the last error encountered, if any, during testing.