Jump to content

deploy file.exe file silently when it is not silent


Recommended Posts

Afternoon,

 

I have an application which does not have a silent install and have been tasked with making it install silently so we can deploy it via SCCM.

we have a install.bat file that does part of the install but we need to specify the install location and have the install click next a few times through the process.

There are also a number of VB Script files that are required to be run to resolve permissions issues.

 

Any help would be very much appreciated.

 

Thanks

 

 

Link to comment
Share on other sites

  • Moderators

@Simontrobe welcome to the forum. Without some example of the product name, the bat files, or how the GUI is set up it is difficult to give you concrete advice. 

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

Program is : Carestream R4

Below are the 2 files that are needed to be installed - setup.exe has a field that has to be filled with a server name and has a next button that is required to be click a few times.

clientinstall/setup.exe

DISSuiteSetup6.13.3.2-E.exe also has a field for a server that has to be filled and again has a couple of next boxes to be clicked

DISSuiteSetup6.13.3.2-E.exe

 

thanks

 

 

Link to comment
Share on other sites

23 minutes ago, JLogan3o13 said:

@Simontrobe welcome to the forum. Without some example of the product name, the bat files, or how the GUI is set up it is difficult to give you concrete advice. 

Thanks mate :)

the BAT file deletes 2 registry keys

starts the setup.exe for the R4 client install... at this point it is a manual thing.. once that is done the file opens a test file to remind the tech the location to install the app and then opens the DIS exe.

We then have 5 ICACLS to grant full permissions to folders, we then run 2 reg files to licence the app and then put the 2 shortcuts on the public desktop in windows7/10

 

Simon

 

Link to comment
Share on other sites

  • Moderators

So, the registry keys and the iCACLS can definitely be done in AutoIt. I would suggest starting with the Reg* sections in the help file.

As for the install itself, without knowing the client specifics it is hard to say (lots of products come up from a Google of R4 client install). But if you can capture the window and its controls with the AutoIt Window Info Tool (same directory where you installed AutoIt) you should have no trouble. Even if you cannot, you may want to look into the UI Automation thread in the examples forum for more ideas.

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

5 hours ago, JLogan3o13 said:

So, the registry keys and the iCACLS can definitely be done in AutoIt. I would suggest starting with the Reg* sections in the help file.

As for the install itself, without knowing the client specifics it is hard to say (lots of products come up from a Google of R4 client install). But if you can capture the window and its controls with the AutoIt Window Info Tool (same directory where you installed AutoIt) you should have no trouble. Even if you cannot, you may want to look into the UI Automation thread in the examples forum for more ideas.

JLogan your a ledgend :) this issue has been driving the team I'm on aroudn the bend for a few months now and the supplier is not exactly quick in helping us.

R4 is a healthcare application specifically for Dental Surgerys :)

https://www.carestreamdental.com/en-gb/products/practice-management-software/cs-r4/

 

Link to comment
Share on other sites

  • Moderators

Did you find out if you can capture information from the window with the Window Info Tool?

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

one might consider building a custom MSI package. the basic concept follows these steps:

1) take a filesystem and registry snapshot.

2) perform manual installation.

3) take a second snapshot.

4) compare the snapshots to determine a list of files and registry changes.

5) compile these changes into an MSI package.

there are several automatic tools claiming to do that. none of which i actually used though, but AppDeply Repackager is on my "cool things i need to check out" list. it seems just the thing for you - and if someone does manage to put it to good use, please share your experience.

 

Signature - my forum contributions:

Spoiler

UDF:

LFN - support for long file names (over 260 characters)

InputImpose - impose valid characters in an input control

TimeConvert - convert UTC to/from local time and/or reformat the string representation

AMF - accept multiple files from Windows Explorer context menu

DateDuration -  literal description of the difference between given dates

Apps:

Touch - set the "modified" timestamp of a file to current time

Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes

SPDiff - Single-Pane Text Diff

 

Link to comment
Share on other sites

  • Moderators

As a long-time software packager I will add only that a lot of those tools (AppDeploy among them) capture a lot of background Windows "noise" between snapshots. You would be amazed at how many registry and dll changes happen at any given moment on a machine. Even top of the line for-pay products like AdminStudio have a hard time filtering it all out. If you go this route (not saying it isn't a viable option, it is how I would do it), be prepared to closely look through each of those dll and registry changes and determine whether it is something you want to capture.

On a related note, and something humorous now (wasn't at the time), I once helped a customer that was using such a methodology. The packager was less than careful, and captured a key under System\CurrentControlSet on his capture machine, which caused a bunch of BSOD's for his test group. He then set the flag to "delete if present" and deleted that key on a whole lot more. So glad I charge by the hour :)

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

Thanks for your help with this :)

This is the script I've got to ---

 

RegDelete ( "HKEY_CLASSES_ROOT\TROPHY" )
RegDelete ( "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TROPHY" )
Run(@ScriptDir & '\\SA-APPS-03\update$\Sys2000\ClientInstall\setup.exe')
AutoItSetOption('MouseCoordMode', 0)
MouseClick($MOUSE_CLICK_PRIMARY, 323, 319, 1)
Sleep(10)
MouseClick($MOUSE_CLICK_PRIMARY, 24, 247, 1)
Sleep(10)
MouseClick($MOUSE_CLICK_PRIMARY, 323, 319, 1)
Sleep(10)
MouseClick($MOUSE_CLICK_PRIMARY, 69, 179, 1)
Sleep(10)
MouseClick($MOUSE_CLICK_PRIMARY, 323, 319, 1)
Sleep(10)
MouseClick($MOUSE_CLICK_PRIMARY, 408, 86, 1)
Sleep(10)
ControlSetText($hWnd, "Choose Folder", "Edit1", "C:\Program Files\KODAK Dental Systems\R4 Clinical+")
MouseClick($MOUSE_CLICK_PRIMARY, 150, 270, 1)
MouseClick($MOUSE_CLICK_PRIMARY, 323, 319, 1)
MouseClick($MOUSE_CLICK_PRIMARY, 323, 319, 1)
wait
MouseClick($MOUSE_CLICK_PRIMARY, 345, 179, 1)
wait
MouseClick($MOUSE_CLICK_PRIMARY, 303, 392, 1)
MouseClick($MOUSE_CLICK_PRIMARY, 303, 392, 1)
ControlSetText($hWnd, "AppUpdate Servers", "ThunderRT6TextBox1", "XGGC-APPS-221")
MouseClick($MOUSE_CLICK_PRIMARY, 319, 195, 1)
MouseClick($MOUSE_CLICK_PRIMARY, 57, 205, 1)
MouseClick($MOUSE_CLICK_PRIMARY, 323, 319, 1)

Link to comment
Share on other sites

41 minutes ago, Dwalfware said:

I would email the company first and ask them if they have a msi or silent install mode?

We have and they don't ... aparently its on there fevelopment path but not soon....

 

I've got lots further now :)

Got a script that actually works !

 

 

Script :

 

 

RegDelete ( "HKEY_CLASSES_ROOT\TROPHY" )
RegDelete ( "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TROPHY" )
Run ("location of setup.exe")
sleep (2000)
WinWaitActive ("R4 Clinical+ - InstallShield Wizard")
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "Welcome to the InstallShield" , "Button3" )
sleep (500)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "I &accept the terms of the license agreement" , "Button6" )
sleep (1000)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "&Next" , "Button2" )
sleep (1000)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "Client" , "Button6" )
sleep (1000)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "&Next" , "Button2" )
sleep (2000)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "&Change..." , "Button5" )
Sleep (2000)
ControlSetText ( "Choose Folder" , "C:\Program Files\Carestream Dental Ltd\R4 Clinical+", "Edit1", "C:\Program Files\KODAK Dental Systems\R4 Clinical+" )
sleep (1000)
ControlClick ( "Choose Folder" , "OK" , "Button1" )
Sleep (500)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "&Next" , "Button2" )
Sleep (500)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "&Next" , "Button2" )
Sleep (2000)
ControlClick ( "CS R4 Clinical+ - Installation Wizard" , "&Next" , "ThunderRT6CommandButton5" )
Sleep (10000)
ControlClick ( "CS R4 Clinical+ - Installation Wizard" , "&Next" , "ThunderRT6CommandButton3" )
Sleep (500)
ControlClick ( "CS R4 Clinical+ - Installation Wizard" , "&Next" , "ThunderRT6CommandButton3" )
sleep (3000)
ControlSetText ( "AppUpdate Servers" , "", "ThunderRT6TextBox1", "server data is stored (SQL)" )
Sleep (1000)
ControlClick ( "AppUpdate Servers" , "&OK" , "ThunderRT6CommandButton2" )
Sleep (500)
ControlClick ( "Restart Windows" , "&No" , "Button2" )
Sleep (500)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "InstallShield Wizard Complete" , "Button2" )
Sleep (500)
ControlClick ( "R4 Clinical+ - InstallShield Wizard" , "InstallShield Wizard Complete" , "Button4" )

 

 

Link to comment
Share on other sites

On 14/02/2019 at 3:34 PM, JLogan3o13 said:

As a long-time software packager I will add only that a lot of those tools (AppDeploy among them) capture a lot of background Windows "noise" between snapshots. You would be amazed at how many registry and dll changes happen at any given moment on a machine. Even top of the line for-pay products like AdminStudio have a hard time filtering it all out. If you go this route (not saying it isn't a viable option, it is how I would do it), be prepared to closely look through each of those dll and registry changes and determine whether it is something you want to capture.

On a related note, and something humorous now (wasn't at the time), I once helped a customer that was using such a methodology. The packager was less than careful, and captured a key under System\CurrentControlSet on his capture machine, which caused a bunch of BSOD's for his test group. He then set the flag to "delete if present" and deleted that key on a whole lot more. So glad I charge by the hour :)

JLogan - do you know of a way to have AutoIT wait and sence as it were the box appear for the script to then go to the next part and click the button ?

 

Thanks

 

Link to comment
Share on other sites

 it looks like InstallShield. If it is not any type of MSI, then you can record your own silent install file, if you do a setup on a target machine with the /r (for record) parameter. but the fact that they use ThunderRT6 buttons may mean some custom vb6 installer is lauched

you run like this from command line

setup.exe /r

step through install with all options YOU require.

after setup finishes, it it will create a new setup.iss file in the Windows directory of the target you just installed it on

Now you can copy that setup.iss to your install media folder where the setup.exe lives, then you can script your script to call setup /r and it's DONE. The setup.iss must be in same directory as the setup.exe file. Anyone can then install silent with your custom options selected. and you can write your script easily. that is if it doesn't rely on that custom sub installer, all your responses should be recorded in the iss file.

Edited by Earthshine

My resources are limited. You must ask the right questions

 

Link to comment
Share on other sites

On 18/02/2019 at 6:44 PM, Earthshine said:

 it looks like InstallShield. If it is not any type of MSI, then you can record your own silent install file, if you do a setup on a target machine with the /r (for record) parameter. but the fact that they use ThunderRT6 buttons may mean some custom vb6 installer is lauched

you run like this from command line

setup.exe /r

step through install with all options YOU require.

after setup finishes, it it will create a new setup.iss file in the Windows directory of the target you just installed it on

Now you can copy that setup.iss to your install media folder where the setup.exe lives, then you can script your script to call setup /r and it's DONE. The setup.iss must be in same directory as the setup.exe file. Anyone can then install silent with your custom options selected. and you can write your script easily. that is if it doesn't rely on that custom sub installer, all your responses should be recorded in the iss file.

Thanks :)

 

Tried that but there is a non standard boxx that appears to specify the server name and it does not record that :(

 

 

Link to comment
Share on other sites

Use the windows information tool that comes with autoIT and see if you can get the control names on that box that pops up and you may be able to write a script that looks for that control and clicks the button and specifies the servers

 

Oh and to run silent it’s

setup /s

Once you have the response file. I had made a mistake in my post above

Edited by Earthshine

My resources are limited. You must ask the right questions

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...