This article describes how to perform a silent, unattended installation of Handyman system components and Handyman Office on a PC. This will not work as a method to install Handyman Office on the main application server, only for clients.
Prerequisites;
- .Net 2.0 / 3.5 enabled as a feature
- .Net 4.6.2 or later installed
- Microsoft SQL Server 2012 Native Client (download from Microsoft)
- WebView2 - MS Edge add-on (download from Microsoft)
- Make sure that the client PC / Server can access the SQL Server with a odbc connection (firewall openings and / or routing changes if needed)
After installation the Handyman5.ini file needs to be manually copied from the server to the client PC to get the correct Connectionstring values.
System Components
How do I install Handyman System Components from the command line?
Example without log:
C:\GSG Handyman\Installation\HandymanSystemComponents.exe /s /v" /qn"
Example with log:
C:\GSG Handyman\Installation\HandymanSystemComponents.exe /s /v" /qn /L*V C:\GSG Handyman\Installation\HandymanSystemComponents_install.log"
Log command issued by /L parameter. Additional options can be provided after the parameter.
/L*V will provide all install information including verbose output.
Other options
-
i - Status messages
-
w - Nonfatal warnings
-
e - All error messages
-
a - Start up of actions
-
r - Action-specific records
-
u - User requests
-
c - Initial UI parameters
-
m - Out-of-memory or fatal exit information
-
o - Out-of-disk-space messages
-
p - Terminal properties
-
v - Verbose output
-
x - Extra debugging information
-
+ - Append to existing log file
-
! - Flush each line to the log
-
* - Log all information, except for v and x options
How do I run an unattended installation with PowerShell?
Example without log:
$setupFilePath = "C:\GSG Handyman\Installation\HandymanSystemComponents.exe"
$arguments = "/s /v`" /qn`""
$p = Start-Process -FilePath $setupFilePath -ArgumentList $arguments -Wait -PassThru
if($p.ExitCode -ne 0)
{
throw "Installation process returned error code: $($p.ExitCode)"
}
Example with log:
$setupFilePath = "C:\GSG Handyman\Installation\HandymanSystemComponents.exe"
$logPath = "C:\GSG Handyman\Installation\HandymanSystemComponents_install.log"
$arguments = "/s /v`" /qn /L*V {0}`"" -f $logpath
$p = Start-Process -FilePath $setupFilePath -ArgumentList $arguments -Wait -PassThru
if($p.ExitCode -ne 0)
{
throw "Installation process returned error code: $($p.ExitCode)"
}
Logging option are described above in Installation from command line section
Handyman Office Local Installation
How do I install Handyman Setup from the command line?
Example without log:
C:\GSG Handyman\Installation\HandymanSetup_9.7.1.31330 /s /v" /qn INSTALLDIR=C:\GSG Handyman\Handyman INSTALLATIONTYPEALL=2 SYSTEMCOMPONENTSINSTALLED=1"
You need to provide path where Handyman will be installed as INSTALLDIR parameter
Example with log:
C:\GSG Handyman\Installation\HandymanSetup_9.7.1.31330 /s /v" /qn INSTALLDIR=C:\GSG Handyman\Handyman INSTALLATIONTYPEALL=2 SYSTEMCOMPONENTSINSTALLED=1 /L*V C:\GSG Handyman\Installation\HandymanSetup_install.log"
You need to provide path where Handyman will be installed as INSTALLDIR parameter
Logging option are described above in System Components: Installation from command line section
How do I run an unattended Handyman Setup with PowerShell?
Example without log:
$setupFilePath = "C:\GSG Handyman\Installation\HandymanSetup_9.7.1.31330"
$installationDir = "C:\GSG Handyman\Handyman"
$arguments = "/s /v`" /qn INSTALLDIR={0} INSTALLATIONTYPEALL=2 SYSTEMCOMPONENTSINSTALLED=1`"" -f $installationDir
$p = Start-Process -FilePath $setupFilePath -ArgumentList $arguments -Wait -PassThru
if($p.ExitCode -ne 0)
{
throw "Installation process returned error code: $($p.ExitCode)"
}
Example with log:
$installationPath = "C:\GSG Handyman\Installation\HandymanSystemComponents.exe"
$installationDir = "C:\GSG Handyman\Handyman"
$logPath = "C:\GSG Handyman\Installation\HandymanSystemComponents_install.log" $arguments = "/s /v`" /qn INSTALLDIR={0} INSTALLATIONTYPEALL=2 SYSTEMCOMPONENTSINSTALLED=1 /L*V {1}`"" -f $installationDir, $logpath
$p = Start-Process -FilePath $installationPath -ArgumentList $arguments -Wait -PassThru
if($p.ExitCode -ne 0)
{
throw "Installation process returned error code: $($p.ExitCode)"
}
Logging option are described above in System Components: Installation from command line section