hits counter

Products - Silent Switch Finder - Software with a 90 days unlimited trial with all features

Go to content

Main menu:

Products - Silent Switch Finder



Don't waste hours, use minutes
                                                        Demo Video   Download
When making silent roll out packets with your Management System to many computers in large companies, you need the installer types silent switches, which the vendors often doesn't explain or support.
No matter what Management System you are using, SilentSwitchFinder automatically analyses and detects which installer type is being used, and creates basic Microsoft vbScript Install() and UnInstall() functions with the silent switches, and adds a lot of extra options and explanations to the vbScript.

SilentSwitchFinder detects most of the installer files created with AutoIt3, Inno Setup, Installshield, Microsoft MsiExec, Nullsoft NSIS, WinZip and Wise.

If you are using the CapaInstaller Management System, SilentSwitchFinder also creates CapaLib Install() and UnInstall() functions, and adds a lot of extra options and explanations, which aren't part of the CapaInstaller Package Creator vbScript versions, which currently supports InstallShield, MSI and Wise templates, but not Inno Setup or NullSoft NSIS.

If you are using a Management System with another script type than vbscript, SilentSwitchFinder also adds an option for you to define, how to let SilentSwitchFinder automatically create Install() and UnInstall functions compatible with your Management Systems script type.
Features:
  • Detects the undocumented silent installer switches you need to your Management deployment scripts.
  • Detects AutoIt3, Inno Setup, Installshield, Microsoft MsiExec, Nullsoft NSIS, WinZip and Wise installers.
  • Creates the silent installer script functions, no matter what Management System you are using.
  • Creates basic Microsoft vbScript Install() and UnInstall() functions with the silent switches.
  • Creates CapaSystems Install() and UnInstall() functions with the silent switches.
 

  

You only need to "Open your default Kit folder", and browse to the installer file, and after only 1 or 2 minutes you are ready to use CTRL+V:



Here is an example of the text that you can paste into your ComputerJob with CTRL+V:

 ' ----------> This is an InstallShield installer. CAPAINSTALLER - I N S T A L L <----------
 ' WARNING: If changes are needed in this file, please contact 
 with an example and an installer file
 
Function Install()
 ' ----------------> REQUIRED: You NEED to decide about these variables:
 ' bForceIssFile --> REQUIRED: You can create a setup.iss file with the -r switch, but if not, it might exist from earlier.
 ' Command-line switches and errorlevel codes: http://tryware.dk/support/installersyntax_installshield.html
                        ' --> EXPLANATION <--
                        ' If you DID use the -r switch to create a new sIssFile in the C:\Windows folder, please remember to:
                        '        Change bForceIssFile = True, and copy the setup.iss file to the same folder as the sInstFile,
                        '        or use the -F1 switch to specify an alternate folder and/or name of the setup.iss file.
                        ' If you did NOT use the -r switch, there might be an old setup.iss in the C:\Windows folder.
                        '        If so make sure, that the bForceIssFile = False
                        ' --> EXPLANATION <--
                        ' --> REQUIRED: Did you create a sIssFile using the -r switch?
 
 Dim bForceIssFile      : bForceIssFile = False
                        ' ---> INFO: These variables are used again in other variables
 Dim sIssFile           : sIssFile = sIssFolder & "\setup.iss"
 Dim sIssFolder         : sIssFolder = "C:\Windows"
                        ' ---> INFO: The above variables are used again in other variables below:
 Dim sArgument          : sArgument = "-s -SMS -z"
 Dim sErrorIss          : sErrorIss = "The job is cancelled, because the sIssFile " & sIssFile & " did not exist!"
 Dim sInstallLog        : sInstallLog = gsWorkstationpath & "Logs\Temp\Ins_" & gsJobName & ".Log"
 Dim sInstallLogTemp    : sInstallLogTemp = gsWorkstationpath & "Logs\Temp\Ins_$ap$.Log"
 Dim sInstFile          : sInstFile = gsPackageRoot & "\Kit\Test_InstallShield_LenovoCamera.exe"
                        ' iStyle (11 different, among others: 0=Hide, 1=Restore, 2, Minimized, 3=Maximized)
 Dim iStyle             : iStyle = 0
 Dim bCheckExistence    : bCheckExistence = True
 Dim bForceDelete       : bForceDelete = True
 Dim bMustExist         : bMustExist = False
 Dim bStatus            : bStatus = True
 Dim bWait              : bWait = True
 
   If bStatus And bForceIssFile Then
           If bStatus Then bStatus = File_ExistFile(sIssFile, bMustExist)
           If bStatus And gbValue Then

                   ' Install with your sIssfile
                   bStatus = Shell_Execute(sInstFile, sArgument & " -F1" & """" & sIssFile & """" & " -F2" & """" & sInstallLogTemp & """", bWait, iStyle, bCheckExistence)

               Else
                   bStatus = Job_ErrorHandling(sThisFunctionName, "-----> " & sErrorIss & " <-----", 0)
           End if

       Else

           ' Install without any sIssfile
           bStatus = Shell_Execute(sInstFile, sArgument & " -F2" & """" & sInstallLogTemp & """", bWait, iStyle, bCheckExistence)

   End if

   If bStatus Then bStatus = File_DelFile(sInstallLog, bForceDelete)
   If bStatus Then bStatus = File_RenameFile(sInstallLogTemp, sInstallLog)
   If bStatus Then bStatus = Appl_ISResultCode(sInstallLog)
   
   Install = bStatus
End Function

' ----------> This is an InstallShield installer. CAPAINSTALLER - U N I N S T A L L <----------

Function UnInstall()
 ' ----------------------> REQUIRED: You NEED to add info to these variables:
 ' sGuid ------>  REQUIRED: The installers sub key found in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. You might need to run the Install() function
 '                         first, without the UnInstall() function, in order to find the sGUID
 '                         For the Test_InstallShield_LenovoCamera.exe installer, the sGUID = "{71A51BD9-E7D3-11DB-A386-005056C00008}"
 ' ----------------------> OPTION: You DO   N O T   NEED to add info to these variables:
 ' sGetString ---> OPTION: If Reg_GetString(sGuid) does not exist, maybe select Job_ErrorHandling() instead of Job_WriteLog().
 ' bForceError --> OPTION: Maybe you want to activate Job_ErrorHandling() if sGetString or sUnInstFile and sUnInstArg does not work
 ' bReboot ------> OPTION: Maybe the vendors UnInstall file requires a reboot
 ' ----------------------> OPTION: You   M I G H T   NEED to add info to these variables:
  '                                                    SilentSwitchFinder tries to find the sUnInstArg and sUnInstFile variables by using the sGetString variable, that might get the info
  '                                                    from the sGuid variable (that you must provide). But in rare cases there is no sGuid in the UnInstall regkey, and if so, you NEED to
 '                         add the needed info to the the sUnInstArg and sUnInstFile variables:
 ' sUnInstArg --->           OPTION: The UnInstall arguments. It might in rare cases not be found in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
 '                         If so locate the sInstFile exe file according to the sGuid sub folder described about the sGetString variable, and make a test to show,
 '                         if the default SilentSwitchFinder variable sUnInstArg = " -runfromtemp -l0x0009 -removeonly" works with your sInstFile. Otherwise you
 '                         need to contact the vendor about it.
 ' sUnInstFile --> OPTION: The Installer file located in gsProgramFiles & "\InstallShield Installation Information\" & sGuid
 ' Command-line switches and errorlevel codes: http://tryware.dk/support/installersyntax_installshield.html
 
 Dim bStatus             : bStatus = True
       ' Maybe use this solution created with CapaInstaller Package Creator?
                ' sProgramName is the name of the InstallShield entry in the Windows Application Manager
       '        Dim sProgramName       : sProgramName = ""
       '        If bStatus Then bStatus = Appl_UninstallISAppl(sProgramName)
       ' But it might not always work, so please consider to use this SilentSwitchFinder solution:

                        ' --> REQUIRED: sGuid = Add the {GUID} from the UnInstall regkeys
 Dim sGuid              : sGuid = "{}"
                        ' --> OPTION: Maybe change the sUnInstArg according to the vendors description.
                        '             BUT ONLY if the sGetString does NOT work below.
                        '             If sGetString works, the sUnInstArg is found in the sGuid
 Dim sUnInstArg         : sUnInstArg = " -runfromtemp -l0x0009 -removeonly"
                        ' --> OPTION: Maybe change the sUnInstFile = gsProgramFiles & "\InstallShield Installation Information\" & sGuid & "\" & only the filename of sInstFile,
                        '             BUT ONLY if the sGetString does NOT work below.
                        '             If sGetString works, the sUnInstFile is found in the sGuid
 Dim sUnInstFile        : sUnInstFile = ""
                        ' --> OPTION: Maybe select bStatus = Job_ErrorHandling() if sGuid does not exist
 Dim bForceError        : bForceError = False
                        ' --> OPTION: Maybe the vendors UnInstall file requires a reboot, before the Install() function runs
 Dim bReboot            : bReboot = False
                        ' ---> INFO: These variables is used again in the variables below:
 Dim sInfojob           : sInfoJob = " does not exist!"
 Dim sError             : sError = "The job is cancelled, because you forgot to change the "
                        ' ---> INFO: The above variables is used again in the variables below:
 Dim sGetString         : sGetString = ""
 Dim sHandle            : sHandle = "HKLM"
 Dim sKey               : sKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" & sGuid
 Dim sErrorGuid         : sErrorGuid = sError & "sGuid=" & sGuid & sInfoJob
 Dim sErrorUnInstArg    : sErrorUnInstArg = sError & "sUnInstArg=" & sUnInstArg & sInfoJob
 Dim sErrorUnInstFile   : sErrorUnInstFile = sError & "sUnInstFile=" & sUnInstFile & sInfoJob
 Dim sRebootMsg         : sRebootMsg = "Your computer is about to be rebooted, because the UnInstaller requested it"
 Dim sThisFunctionName  : sThisFunctionName = "Function UnInstall"
 Dim sVariable          : sVariable = "UninstallString"
                        ' iStyle (11 different, among others: 0=Hide, 1=Restore, 2, Minimized, 3=Maximized)
 Dim iStyle             : iStyle = 0
 Dim iPos
 Dim bCheckExistence    : bCheckExistence = True
 Dim bMustExist         : bMustExist = False
 Dim bWait              : bWait = True
 
   If bStatus Then bStatus = Reg_GetString(sHandle, sKey, sVariable, bMustExist)
   If bStatus And gbValue Then
       ' The sGuid was found in the UnInstall regkeys.
                       sGetString = gsValue
           bStatus = Job_WriteLog(sThisFunctionName, "-----> Found " & sVariable & ": " & sGetString & " <-----", bStatus, True)
'               1                2                3               4                5                6                7                8               9                0                1                2               3                4                5                6
'12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234
' If sGetString=C:\Program Files\InstallShield Installation Information\{71A51BD9-E7D3-11DB-A386-005056C00008}\Test_InstallShield_LenovoCamera.exe -runfromtemp -l0x0009 -removeonly
'                                                                                                                                                                                                                             123456789012345678901234567890123
           iPos = InStr(1, uCase(sGetString), ".EXE", vbTextCompare)
           If iPos = 0 Then
                   bStatus = Job_WriteLog(sThisFunctionName, "-----> The sInstFile was not found in " & sGetString & " <-----", bStatus, True)
               Else
                   sUnInstFile = Left(sGetString, iPos +3)
                                      sUnInstArg = Right(sGetString, Len(sGetString) - iPos -4)                                                                                                    ' 164-127-4 = 33
                   If bStatus Then bStatus = File_ExistFile(sUnInstFile, False)
                   If bStatus And gbValue Then
                       bStatus = Shell_Execute(sUnInstFile, sUnInstArg, bWait, iStyle, bCheckExistence)
                       ' bReboot --> OPTION: DID the vendors sUnInstFile file require a reboot
                       If bStatus And bReboot Then bStatus = Job_RebootWS(sRebootMsg)
                   End if
           End if

       Else

       ' The sGuid was NOT found in the UnInstall regkeys.
           sGetString = gsValue
           ' bForceError --> OPTION: DID you want to activate Job_ErrorHandling(), if sGuid does not exist
           If bForceError = True Then
                   bStatus = Job_ErrorHandling(sThisFunctionName, "----- " & sErrorGuid & " -----", 0)
               Else
                   bStatus = Job_WriteLog(sThisFunctionName, "-----> " & sVariable & ": " & sGetString & sInfoJob & " <-----", bStatus, True)
                   ' --> REQUIRED: DID you select to add the sUnInstFile variable?
                   If bStatus And sUnInstFile = "" Then
                       bStatus = Job_ErrorHandling(sThisFunctionName, "-----> " & sErrorUnInstFile & " <-----", 0)
                   End if
                                      
                   If bStatus Then bStatus = Shell_Execute(sUnInstFile, sUnInstArg, bWait, iStyle, bCheckExistence)

                   ' bReboot --> OPTION: DID the vendors sUnInstFile file require a reboot
                   If bStatus And bReboot Then bStatus = Job_RebootWS(sRebootMsg)
           End if
   End if
   
   UnInstall = bStatus
End Function


SilentSwitchFinder doesn't interact with any programs, services or files on your computer, so you can use or test it without any problems at all.

SilentSwitchFinder creates around 170 syntax controlled vbScript lines, with extra options and explanations in the created Install() and UnInstall() functions.

The old USSF 1.5.0.0 tool, that isn't supported anymore, only shows you one simpel switch line, sometimes without all the needed switches.

If SilentSwitchFinder doesn't find the switch lines, a long explanation is 99% ready to CTRL+V into an email, where you only need to find the vendor's support email address. And this is also done, even if the tested installer file is created with another installer program, than those SilentSwitchFinder are able to find.

Before showing you the email text created by SilentSwitchFinder, you have an option to examine all the installer switches and a lot of other installer informations,  collected on TryWareDk.



   

Here is the alert box about such an example ready to email to the vendor:



The only thing missing is the email address to the vendors support department, but if the file properties shows the vendors website name, you should easily be able to find it.

Here is an example of the text that you can paste with CTRL+V to an email to the vendor:

We are examining one of your installer files: HBCDCustomizer.exe

We need to make a silent deploy on our company's many computers using a vbScriptet Management System, and we have tried with no luck to use all of the well known silent switches like -qn, -s, -silent, /S, /SILENT, and /VERYSILENT.

It doesn't seem like you are using one of the following programs to produce your installer: AutoIt3, Inno Setup, Installshield, Microsoft MSI, Nullsoft (NSIS), WinZip or Wise

We also tried with no luck to run HBCDCustomizer.exe /?, and search your documentation and your website.

So please email us with information about silent deploy switches, including all needed options like e.g. license number and so on, so we can silently deploy install and uninstall for: HBCDCustomizer.exe

FileName: HBCDCustomizer.exe
Productname: HBCDCustomizer
CompanyName: http://www.hiren.info
FileVersion: 3.01
DefaultLangCodepage: 040904B0
FileCreated: 20130912 214944
FileSize: 75.776 bytes

BTW: Maybe support your customers in the future with the needed information about the silent deploy switches!

Sincerely


If you have installed SilentSwitchFinder, you can use it in 2 ways:

#1:  Identify the installer type with SilentSwitchFinder for all your jobs.
      Create a job script, as you are used to do it.
      Delete the Install() and UnInstall() functions, if they are automatically created, and paste the       SilentSwitchFinder functions into your script.
      Test the Install() and UnInstall() functions created by SilentSwitchFinder

#2:  Identify the installer type with SilentSwitchFinder for all your jobs.
      Create a job script, as you are used to do it.
      Test the Install() and UnInstall() functions.
      If errors occurs, check among other things the silent switches created by SilentSwitchFinder
 
If used combined with the PsPadEditorCapaLib editor, you already have your CapaLib Management systems vbScript file from the ComputerJob folder (with Kit and Script subfolders) open in the PsPad Editor, and from the PsPad Editor, you only need to press CTRL+ALT+F, and SilentSwitchFinder will automatically search the subfolder Kit for *.exe, *.msi and *.mst files, and if only finding one installer file (otherwise they are shown to decide), it automatically search for silent switches, and automatically creates all the needed vbscript function lines to do the silent installation.

TryWaredk is using the "PEiDentifier" 100 % freeware feature from another thirdparty Vendor, but this feature only determines which installer is being used, but not in all the cases identified by SilentSwitchFinder, and PEiD doesn't produce any silent switches, or any vbScript lines.






 
 
Last updated: 01-04-2015
Contact        Privacy Policy        Site Statistics        Sitemap        Terms of use       
Back to content | Back to main menu