Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Silent-Install is a PowerShell based framework for the packaging of applications, independent of tooling that might be used to deploy the application.
Often, a companies IT department will intake software applications from a variety of vendors and prepare them for distribution within their company. This may involve a process whereby the application is installed and customized for the use as intended by that company.
This installation/customization may end up being performed on end-user systems directly, likely induced by an electronic software delivery (ESD) system such as SCCM, or a repackaging process using install-capture tools like Admin Studio or the App-V Sequencer.
Silent-Install provides a PowerShell based utility framework that includes two prototype invoking scripts and a support script module. One of the prototype scripts would be used to install dependencies (especially needed in situations involving the install-capture process when you do not want to capture these dependencies), and the other to silently install and configure the application.
Simple editing of the variables contained in the prototype scripts allows you to quickly and cleanly specify all of the common activities used to install and customize applications. The prototype scripts include commented out examples of these variables, and supports the addition of more PowerShell scripting for less standard activities.
Project Design Requirements
The list of requirements used in the development of the scripting framework are described https://github.com/TimMangan/silent-install/wiki/Project-Design-Requirements
How To Use
You would create a folder with either of the launcher sample scripts (InstallDependencies.ps1 or SilentInstall.ps1) along with the SilentInstall_Utilities.ps1 module file and any additional installer files to be autodetected.
You edit the launcher sample script to meet your needs. Each will have an area designated for editing variables established in the module for your customization. For example, there are Dictionary variables to list an installer file and it's command line arguments. (The module will determine the command line to use based on the filetype of the installer
- Ability to auto-detect and run additional ps1 files for Registered Application Capabilities (user defined FTAs).
- Ability to auto-detect and run additional ps1 files for ShortcutFixes (fix-up shortcuts to cmd/bat files). file). Documentation in the sample file will lead you to the edits you need to make.
There is a designated place further towards the bottom of the sample files to include any additional PowerShell based scripting you need to perform for situations where the standard abilities/capabilities of the module do not need your needs.
Then just run the edited launcher script in PowerShell.
The ExampleUsage_For_7Zip folder contains an example for using an edited SilentInstall.ps1 file for a complete silent installation of 7Zip, suitable for a customized installation of that software, such as when sequencing application in App-V. You would need to Add the actual 7-Zip install file to this folder (7-Zip is a popular open source application that is readily available from the internet). The example also includes a .REG file for customizing the installation, and a couple of ps1 files produced by the AppV_Manage tool to add FTA Application Registrations to the installation.