The following PowerShell code was used to run the updater for a specific version of E-Prime where its 'hasplms' Service had stopped running. By querying the .exe file in the installation folder it was possible to find the product version which could then be compared against.
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
#Create a variable of the path to the file
$EPrimePath = "$envProgramFilesX86\PST\E-Prime 2.0\Program\E-Studio.exe"
#If the file exists
If (Test-Path -Path $EPrimePath) {
#Create a variable of the 'ProductVersionRaw' attribute, as 'ProductVersion' on its own contains commas and spaces in this instance
$EPrimeVersion = (Get-Item -Path $EPrimePath).VersionInfo.ProductVersionRaw
#Compares the above .exe version AND that no 'hasplms' Service is running
#The '-ErrorAction' is used to continue running the script if the Service is missing (otherwise it would error)
If (($EPrimeVersion -eq '2.0.10.356') -And (-Not(Get-Service 'hasplms' -ErrorAction SilentlyContinue))) {
#Run the .exe file with E-Prime specific parameters
Execute-Process -Path "$dirFiles\haspdinst.exe" -Parameters '-i -fi -kp -v -nomsg'
}
}
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Download IF Version AND Service.ps1
No comments:
Post a Comment