Home What is ISESteroids? ISESteroids Install & Deployment Considerations
 

ISESteroids Install & Deployment Considerations

ISESteroids is a PowerShell module designed to enhance the build-in PowerShell ISE editor with many professional editing capabilities.

On this page you can find out about requirements, the recommended install location, running ISESteroids manually and automatically, and using ZeroTouch mode.

ISESteroids Overview

Requirements

The only requirement is PowerShell version 3 or better. To find out your PowerShell version, run:

PS> $PSVersionTable.PSVersion.Major

ISESteroids is a portable application with a pure copy&paste deployment. You do not need to be Administrator to run ISESteroids, and you do not need special installation permissions.

Installation Location

You can copy the ISESteroids module folder anywhere. You can even run it off a portable media like an USB stick.

However, there are some wise considerations:

  • Enable ZeroTouch Portable Mode
    If you want ZeroTouch operation, make sure users have write-permission to the AppData subfolder inside the ISESteroids folder.
    If this folder is writeable, ISESteroids stores all user-specific settings in this folder.
    This is a good idea if you want to keep your settings with your installation but only makes sense for single-user operation.
    If multiple users load ISESteroids, they all would share the same settings.For multi-user installations, make sure users have no write-permission to the AppData subfolder, or remove this folder altogether.
    In this case, ISESteroids stores user-specific settings in the default windows AppData location.
    Note that the machine-specific copy of your license file will always be stored in the default windows AppData location as it is hardware specific.
  • Use a local drive
    Copy ISESteroids to a local drive. Do not use a network drive, and do not use your user profile if it is a roaming profile.
    ISESteroids is a binary module, and .NET framework may restrict loading binary files across a network.In addition, if a network location is not always available, or connectivity is bad, then loading ISESteroids may be slow or fail altogether.
  • ProgramFiles folder
    ISESteroids comes with portable applications like WinMerge. Some portable applications cannot run from within the ProgramFiles folder. If you install ISESteroids in ProgramFiles, ISESteroids will copy these portable apps to the users’ AppData store.
  • Use Default Module Folders
    If you place the ISESteroids module folder in one of the folders listed in $env:PSModulePath, PowerShell can find the module automatically, and users can launch ISESteroids simply by running the command Start-Steroids. There is no need for importing the module. If you place ISESteroids elsewhere, users need to import the ISESteroids module manually using Import-Module. Specify the path to the module folder.

Using ZeroTouch Mode

In ZeroTouch mode, ISESteroids will not touch the host system and instead store all user-specific settings inside its own module folder. User settings will be written to the subfolder AppData.

ZeroTouch mode is enabled automatically when ISESteroids detects that the AppData folder inside the ISESteroids module folder exists and is writeable.

If you have worked with ISESteroids before and have not used ZeroTouch mode, user settings have been saved to $env:appdata\ISESteroids.

To switch to ZeroTouch mode, make sure ISESteroids is not running. Then copy the content of this folder to the local AppData folder inside the ISESteroids module folder, then delete the folder $env:appdata\ISESteroids.

Disabling ZeroTouch Mode

ZeroTouch mode is not recommended for multi-user installations. All users would share the same settings – unless you make sure you install ISESteroids per user and not for all users.

To disable ZeroTouch mode, simply delete the AppData subfolder inside the ISESteroids module folder, or make sure users have no write-permission.

Deploying ISESteroids

Use your preferred deployment tool to copy the ISESteroids module folder to the installation location of your choice.

Deploying ISESteroids with Preconfigured Settings

If you want ISESteroids to use initial options that differ from the defaults, install and run ISESteroids on a test system, and configure it the way you like it. Close ISESteroids.

Next, open $env:\appdata\ISESteroids\Options. Copy the XML files into the subfolder DefaultSettings inside the ISESteroids module that you want to deploy. ISESteroids will use these settings as initial default settings when there are no personal settings yet.

 

Deploying ISESteroids with a License

Without a license, ISESteroids provides a 10 distinct days trial mode. At the end of the trial mode, users need to manually drag and drop a valid license file onto the application.

To deploy ISESteroids with a license, place the license file into the “License” subfolder inside the ISESteroids module folder. ISESteroids picks up the license at launch time, creates an activated license file, and places this license file into the “License” folder inside the AppData folder.

By default, ISESteroids will remove the original license file when creating a user-specific license file. Make sure the “License” subfolder inside the ISESteroids module folder is read-only if you want the original license to be kept.

Launching ISESteroids

ISESteroids is an extension for the built-in ISE PowerShell editor. You can load ISESteroids only from within the ISE editor. You cannot load it from a PowerShell console or other PowerShell hosts.

If you have copied the ISESteroids modules folder to one of the default locations listed in $env:PSModulePath, then you simply need to run Start-Steroids to load ISESteroids.

Start-Steroids

If you have copied the ISESteroids modules folder to a different location, or want to run it from a portable media like an USB stick, import the module manually:

Import-Module g:\tools\ISESteroids

(Replace the path with the actual path to the ISESteroids modules folder)

There is no need to run Start-Steroids when you import the module manually. ISESteroids will automatically launch on import.

Automatically Launching ISESteroids

If you want ISESteroids to launch automatically when you start the ISE editor, place either start command into your ISE profile script. You can find the path to this script in $Profile.

If you have started ISESteroids already, you can also press the profile script button on the secondary toolbar.

ISESteroidsProfile

If you want ISESteroids to start automatically by default, but add an option to skip automatic loading, consider code like this:

If ([System.Windows.Input.Keyboard]::IsKeyDown('Ctrl') -eq $false)
{
   Start-Steroids
}

This will launch ISESteroids automatically unless you hold CTRL while starting the ISE editor.

 

Facebooktwittergoogle_pluspinterestlinkedinFacebooktwittergoogle_pluspinterestlinkedin
  • Mike Shepard

    I’ve got ISESteroids installed via install-module, and have upgraded it successfully twice through update-module. The templates that I had created are now in a version-specific templates folder, and the “open template” folder doesn’t show them.

    • Tobias Weltner

      The template folder is one of the very few places that are version specific. Originally, templates were designed to be used internally only. Can you submit a support ticket and request the templates folder to move to AppData?