Version: 2.7
Last Update: 05:00 PM 11/10/2009 (GMT-5 +1 during DST)
Copyright © 2009 Kenneth R. Alcock, all rights reserved.
The Sysinternals Suite Installer Builder (SSIBuild) includes:The Sysinternals Suite Installer includes:
- All Sysinternals Suite Installer files (listed below)
- The .cmd file: SSIBuild.cmd
- The .txt file: ReadMe.txt
- The .ouc file: USBProgram.ouc
- The .dcf file: Sysinternals.dcf
The Sysinternals Suite of utilities was originally authored by Mark Russinovich and Bryce Cogswell of Sysinternals. The Sysinternals Suite is Copyright © 2000-2009 by Sysinternals, a wholly owned subsidiary of the Microsoft Corporation. Read the Eula.txt file included in the SysinternalsSuite.zip download from Microsoft TechNet for Sysinternals Suite licensing restrictions. A shortcut to this file is installed in the Windows Start Menu.
- The .inf files: InstSSI.inf, AcceptEULA.inf
- The .hta file: AcceptEULA.hta
- The .cmd files: SFX-SSI.cmd, Uninstall.cmd
- The .ini files: SFX-SSI.ini
Kenneth R. Alcock is not affiliated with or a representative of the Microsoft Corporation.
Objective:
To:
build an installer package, named SysinternalsSuite.exe, for the popular Sysinternals Suite by Mark Russinovich and Bryce Cogswell.
NOTE: Sysinternals is now subsidiary of the Microsoft Corporation.
In a way that:So that:
- Requires one to download the Sysinternals Suite directly from Microsoft.
NOTE: WUD will download SysinternalsSuite.zip directly from Microsoft.- Allows one to quickly create their own SysinternalsSuite.exe installer.
NOTE: The Sysinternals Suite End User License Agreement (Eula.txt) expressly states that you may not: "publish the software for others to copy" or: "transfer the software or this agreement to any third party". Thus, redistributing the Microsoft SysinternalsSuite.zip download, or the SysinternalsSuite.exe installer created by using this guide, are both violations of the Sysinternals Suite EULA. This is why I am publishing tools to create your own installer.- Automates as much of the process as is practical.
- Does not require an installation software suite--one only need download the free tools listed in this guide to create the installation package.
- Uses open-source-like techniques to create the installer and install all of the Sysinternals Suite utilities, which allows anyone with technical knowledge to see, report, and help trouble-shoot any issues.
- Ensures the resulting installer does the following:
- Installs all Sysinternals Suite utilities to this folder: %ProgramFiles%\Sysinternals Suite
NOTE: The program folder may be changed in SFX-SSI.ini.- Adds the program folder listed above to the system %PATH% variable.
NOTE: A reboot is required before the new path will take effect.- Creates shortcuts under the following Start Menu program groups:
NOTE: The group names may be changed in SFX-SSI.ini.
- Start Menu\Programs\Sysinternals Suite
- Start Menu\Programs\Sysinternals Suite\File And Disk Utilities
- Start Menu\Programs\Sysinternals Suite\Networking Utilities
- Start Menu\Programs\Sysinternals Suite\Process Utilities
- Start Menu\Programs\Sysinternals Suite\PsTools
- Start Menu\Programs\Sysinternals Suite\Security Utilities
- Start Menu\Programs\Sysinternals Suite\System Information
- Start Menu\Programs\Sysinternals Suite\Miscellaneous Utilities
- Creates an uninstaller entry in Control Panel - Add/Remove Programs.
- Supports Windows 2000/XP/2003/Vista/2008/7 (32-bit versions only).
NOTE: I have only tested the installer on Windows XP and Vista. However, this should also work on Windows 7.- Supports unattended installation.
NOTE: So far, only Windows XP CD integration has been tested.
- It becomes quick and easy to install the Sysinternals Suite.
- It becomes quick and easy to cleanly uninstall the Sysinternals Suite.
- Providing an installer and uninstaller for the Sysinternals Suite is
legal, since you still download the Sysinternals Suite files directly
from Microsoft and you create the installer package yourself.- The installer is simple to integrate into an XPCD building process.
The Automated Process:
Here's how to create your own SysinternalsSuite.exe installer.NOTE: You are done at this point. The remaining sections below are just the technical details of the entire process, and the issue log.
- Download SysinternalsSuite.zip from Sysinternals (Microsoft) to the Sysinternals Suite download folder.
SysinternalsSuite.zip- Download SSIBuild.exe from me to the Sysinternals Suite download folder.
SSIBuild.exe- Open the Sysinternals Suite download folder, and double-click on SSIBuild.exe (Sysinternals Suite Installer Builder), which will extract itself and run SSIBuild.cmd.
NOTE: SSIBuild.exe and SSIBuild.cmd are discussed in detail later on.- SSIBuild.cmd will prompt to delete the WORK files. Enter "N", if you wish to customize your installer.
NOTE: When the SSIBuild.cmd script completes, SysinternalsSuite.exe will exist in the Sysinternals Suite download folder.
- OPTIONAL: OPTIONAL: You can customize certain aspects of your installer, including Start Menu Folder and Program Folder names. To customize your installer:
- Copy SFX-SSI.ini
from: the WorkSSIB subfolder
to: the Sysinternals Suite download folder.- Edit your own customized SFX-SSI.ini and save it
to: the Sysinternals Suite download folder.- Re-execute either SSIBuild.cmd or SSIBuild.exe.
SSIBuild.cmd will recreate SysinternalsSuite.exe, this time using your version of SFX-SSI.ini from the Sysinternals Suite download folder, which it will copy to the WorkSSIB subfolder (overwriting it).
NOTE: SSIBuild.cmd never deletes your version of SFX-SSI.ini from the Sysinternals Suite download folder.
NOTE: To reset SFX-SSI.ini back to the default values, simply delete your version from the Sysinternals Suite download folder and restart the process from step 3.
Using Windows Update Downloader
Windows Update Downloader (WUD) by Jean-Sebastien Carle (JCarle on MSFN.org) is a great tool for keeping up-to-date with all of your Windows Updates and Microsoft Technologies used to build a stable Windows system. I provide a WUD update list for this project named SysinternalsSuite-x86-ENU.ulz, which allows you to (re) download everything within WUD. After installing WUD on your engineering system, just click the download link in the MSFN.org guide to download and import the update list directly into WUD.
Click to view attachment
Check for Updates Often
Mark Russinovich tends to update the Sysinternals Suite regularly; however, the download link for the suite is static and does not change. Whenever a new version is released, you should re-download the SysinternalsSuite.zip and re-execute SSIBuild.exe. (In WUD, just select the Sysinternals Suite and re-download it.)
For the most part, the process to create your own installer should remain the same from version-to-version. However, Mark occassionally adds new utilities or retires old and obsolete ones. SSIBuild only supports the most current version of Sysinternals Suite. Subscribe to the MSFN.org discussion thread to be notified of any new releases of SSIBuild. Whenever I update this guide and release a new SSIBuild version, always do the following:
- Read the Version History, along with the related detailed sections for any changes I have made to the process.
- Re-download both SysinteralsSuite.zip and SSIBuild.exe.
If you are using WUD, click on the SysinternalsSuite-x86-ENU.ulz from. the MSFN.org guide. The update list will automatically import itself into WUD (overwriting the old list). Then open WUD and select the entire Sysinternals Suite category and re-download all related files at once.
NOTE: I have changed the list file name from SysinternalsSuite.ulz to to SysinternalsSuite-x86-ENU.ulz, which is consistent with the meta data internal to the WUD list. If you happen to see two lists in WUD, just delete the older list.- Recreate SysinternalsSuite.exe by double-clicking on SSIBuild.exe.
SSIBuild.exe (Sysinternals Suite Installer Builder)
SSIBuild.exe (Sysinternals Suite Installer Builder) is a WinRar SFX I developed to automate building SysinternalsSuite.exe (see next section) from the SysinternalsSuite.zip downloaded from the www.sysinternals.com (Microsoft TechNet).
SSIBuild.exe will do the following:
- Unpack the following files directly to the download folder:
- SSIBuild.cmd - Sysinternals Suite Installer Builder script.
- Readme.txt - This content you are reading now in printable format.
- Sysinternals.dcf - Sysinternals menu for Directory Opus running from USB.
- USBProgram.ouc - USBProgram user command for Directory Opus.
- Unpack all 7-Zip command line files to the 7za465 subfolder.
- 7za.exe
- 7-Zip.chm
- 7-Zip Command Line License.txt
- 7-Zip Command Line ReadMe.txt
- 7-Zip Extra History.txt
- 7-Zip Extra License.txt
- 7-Zip Extra ReadMe.txt
- 7-Zip For Installers ReadMe.txt
- 7zS.sfx
- Copying.txt
NOTE: SSIBuild.cmd also writes temporary VBScript (.vbs) files here.- Unpack all SSIBuild.exe installation files to the WorkSSIB subfolder.
- AcceptEULA.hta - HTML app that lets user read and accept EULA globally.
- AcceptEULA.inf - The .inf file called by AcceptEULA.hta.
- hidec.exe - Tiny executable that hides the command prompt.
- InstSSI.inf - Installer .inf file (this does most of the work).
- SFX-SSI.cmd - Sets system path and launches InstSSI.inf.
- SFX-SSI.ini - Governs a few installer parameters.
- Uninstall.cmd - Unsets system path and launches Uninstall.inf.
- Urls\*.url - Several shortcuts to the Microsoft TechNet web page for each Sysinternals utility or utility category.
- If SFX-SSI.ini exists in the download folder, copy it to WorkSSIB, overwriting any existing destination copy.
NOTE: This would be your own customized SFX-SSI.ini file.- Extract SysinternalsSuite.zip to WorkSSIB\SysinternalsSuite.
- Version the SysinsternalsSuite.exe installer by using an assumed Build Date for the Sysinternals Suite. SSIBuild will find the Date Modified stamp of the most recent file extracted from the SysinternalsSuite.zip download and assume the Build Date of the suite is one day later.
NOTE: SSIBuild updates InstSSI.inf, which will not work correctly, until the Version string assignment is appended to the end of the file.- Create SysinternalsSuite.exe in the download folder.
- Prompt to delete from the Syinternals Suite download folder:
- 7za465 subfolder.
- WorkSSIB subfolder.
- Readme.txt
- SSIBuild.cmd
- Open the SSIBuild.log file in Notepad.
SysinternalsSuite.exe (Sysinternals Suite Installer)
SysinternalsSuite.exe (Sysinternals Suite Installer) is a 7-Zip SFX that I developed to properly install the Sysinternals Suite. (By proper, I mean with a Start Menu group, shortcuts, and a Control Panel uninstaller entry.) SysinternalsSuite.exe is the final output of running SSIBuild.exe (see previous section above).
SysinternalsSuite.exe does the following:
- Extracts all its files to a subfolder under %TEMP%.
- Executes SFX-SSI.cmd, via a hidden command console, which:
- Adds the %ProgramFiles%\Sysinternals Suite folder to the system %PATH%.
NOTE: A reboot is required before the new path will take effect.- Determines which version of Windows is running.
- Modifies the installation files based on you SFX-SSI.ini settings.
- Launches the InstSSI*.inf file for the Windows version, which:
- Copies all Sysinternals Suite files to the program folder: %ProgramFiles%\Sysinternals Suite
NOTE: The program folder can be changed in SFX-SSI.ini.- Copies the InstSSI.inf to the program folder as Uninstall.inf.
- Copies the Uninstall.cmd script to the program folder.
- Creates a Sysinternals Suite uninstall entry in Control Panel.
- Creates the following program group and subgroups:
CODEStart Menu\Programs\Sysinternals Suite
|
+--File And Disk Utilities
|
+--Networking Utilities
|
+--Process Utilities
|
+--PsTools
|
+--Security Utilities
|
+--System Information
|
\--Miscellaneous Utilities
The Sysinternals web site divides the utilities into the above categories; some utilities fit into more than one category. The Start Menu\Programs group contains a subgroup for each utility category. Category subgroups each contain the following items:
- A shortcut for each utility in that category.
NOTE: Command line utilities are run via Cmd.exe /K. If the command has a help screen, the shortcut will display it rather than just running the command itself.- A shortcut to each Shell utility's help file (if one exists).
- A Microsoft TechNet Reference subgroup with:
- A shortcut to the utility category's TechNet web page.
- A Shortcut to each utility's individual TechNet web page.
- Deletes its subfolder under %TEMP% after installation completes.
Directory Opus USB Files:
In my quite-biased opinion, Directory Opus by GPSoftware is simply the best file manager available for the Windows operating system. Directory Opus is not freeware, but compared against the time it saves me every day, it's well worth the price of my license. When purchased with a USB license, Directory Opus runs from any ordinary USB flash drive or U3 drive. GPSoftware offers a free, fully-functioning, 60-day trial license, so check out Directory Opus at the links below.Personally, I use an ordinary USB flash drive running the PortableApps.com menu and Directory Opus. I like the PortableApps.com menu, but it's tedious to manually add all the Sysinternals programs to it. On the other hand, Directory Opus is the most customizable software package to be found. So my solution was to create an Opus user command that correctly launches programs from a USB flash drive and a Sysinternals menu for Directory Opus. SSIBuild now includes both of these as exported files for use with Directory Opus v9.x and later.
- GPSoftware Homepage
Download the software installer and PDF Manual from this web site. Be sure to complete the online form to receive a free, 60-day license certificate by email. Otherwise, the stock software certificate may expire.
- Introduction To Directory Opus
Here's a link to an excellent Directory Opus online introductory tutorial.- Directory Opus Resource Center
The Directory Opus Resource Center is a very active user-to-user forum with: FAQs; tutorials; plug-ins; themes; as well as customized toolbars, buttons, menus, and user commands. (I'm user KenAlcock on that forum.)NOTE: I provide support for these Directory Opus related files, and document them more extensively, in the Directory Opus Resource Center under the Buttons and Toolbars forum. Please direct all related questions there.
- Sysinternals.dcf - Sysinternals Menu for Directory Opus (running from USB)
In Directory Opus, menus are just a type of button containing other buttons. And all buttons can be exported as Directory Opus Command files (.dcf). Sysinternals.dcf contains an exported Sysinternals Suite menu that contains all the same submenus and shortcuts (buttons) installed by the Sysinternals Suite Installer (SysinternalsSuite.exe). Buttons that run each Sysinternals Suite command use the Directory Opus USBProgram user command (below) to run the programs correctly from a USB flash drive.
- USBProgram.ouc - USBProgram User Command for Directory Opus
Directory Opus user commands are reusable commands that can accept a command parameter template and can be invoked from command lines stored in: a menu item, a toolbar button, a hotkey sequence, or a File Type context menu item within Directory Opus. The Directory Opus user commands themselves can be comprised of: internal Directory Opus commands, external commands (3rd-party or operating system programs), or even scripts. The USBProgram.ouc file is an exported Directory Opus user command I developed named USBProgram. It's designed to correctly launch USB programs from within Directory Opus running on a USB flash drive, where the USB drive could have any drive letter. USBProgram can launch command-line utilities inside a new Cmd.exe console (which remains open after execution), after appending the program's folder path to the %Path% environmental variable for the Cmd.exe console. This allows the user to type regular syntax for the command-line utility, without having to specify a completely qualified file path for it.
