Is it possible to install exe via ruby code?

I have a exe file in c:/test.exe

I have a script to run the exe.

Script :

require ‘watir’
ie=Watir::IE.new
ie.goto(“file:///C:/putty.rar”)

But unfortunately i was not able to handle the run time windows such as
asking

  1. window with Extract and cancel option
  2. File path asking window.

How can i automate it? please give a idea…

Thanks in advance.

Sorry for the wrong code in previous post

working code:

require ‘watir’
ie=Watir::IE.new
ie.goto(“file:///c:/test.exe”)

jazzez ravi wrote:

Sorry for the wrong code in previous post

working code:

require ‘watir’
ie=Watir::IE.new
ie.goto(“file:///c:/test.exe”)

Ill share with you one of my Top Secret scripts.
This will boost your productivity !!!

What you need is there …just adapt it to your needs.

#| Pajarito de Homero /Homer Simposon’s desktop bird V 1.0 - Ruby
implementation
#|
#| Ejemplos:
#|
#| send_key_until_is_dead(“Messenger Service”)
#| send_key_until_is_dead(“Atari - Olimpic Games, 100 meters”,“a”)
#|
#Inspired by Homer Simposon’s desktop bird
def homers_bird(dialog_name,key="{enter}")

require ‘win32ole’
wsh = WIN32OLE.new(‘WScript.Shell’)

puts “Let’s remember our old Atari games…!”
puts “We’ll kill <#{dialog_name}> …”

while wsh.AppActivate(dialog_name)
wsh.SendKeys("{enter}")
sleep 0.1
puts “Shoot !”
end

puts “You win !!!”

end
c:\\test.exe
send_key_until_is_dead(“Installing”)

Hi Rodrigo B.,

Thanks for help…

Still i am facing some issues. Details follows…

CODE:

def homers_bird(dialog_name,key="{enter}")
require ‘pp’
require ‘win32ole’
require “rubygems”
require “win32ole_pp”

wsh = WIN32OLE.new(‘WScript.Shell’)

puts wsh.AppActivate(dialog_name)

while wsh.AppActivate(dialog_name)
wsh.SendKeys("{enter}")
sleep 0.1
puts “Shoot !”
end

puts "You win !!!!"

end

C:\\MAIN\\Work\\sw\\tvcnew.exe
homers_bird(“Setup - Total Video Converter 3.12”,"{enter}")

OUTPUT:

It doesn’t automatically enter the ENTER key. So i press in manual then
i got output like this

false
You win !!!

ISSUE:

The code --> puts wsh.AppActivate(dialog_name) sayd “false” to me. I
tried few other EXE files also but i am still doesn’t get the output.

Please BOOST me once again…

Waiting for ur reply

Hi Rodrigo B.,

Please see the attachment and let me know ur feedback.

Sorry for disturbing you continuously…

Thanks in Advance.

Waiting for ur reply

It seems your are not getting the focus on the target window.

puts wsh.AppActivate(“change this string until it works”)
wsh.SendKeys("{enter}")

-r.

jazzez ravi wrote:

Hi Rodrigo B.,

Please see the attachment and let me know ur feedback.

Sorry for disturbing you continuously…

Thanks in Advance.

This strange. Are on Windows Vista /?

-r.

Hi Rodrigo B.,

OS --> Windows XP + Service pack3

This strange. Are on Windows Vista /?

-r.

David M. wrote:

jazzez ravi wrote:

Hi Rodrigo B.,

Please see the attachment and let me know ur feedback.

Sorry for disturbing you continuously…

Thanks in Advance.

I believe the AppActivate method searches the text in the title bar of
the open windows.

Based on that, and the image you provided, I suspect that the
AppActivate method fails on this window because the window has no title
bar.

David

http://rubyonwindows.blogspot.com

There are some installers which accept command line arguments.
Have you tried in your terminal :
installer.exe --help or installer.exe \h

jazzez ravi wrote:

Hi Rodrigo B.,

Please see the attachment and let me know ur feedback.

Sorry for disturbing you continuously…

Thanks in Advance.

I believe the AppActivate method searches the text in the title bar of
the open windows.

Based on that, and the image you provided, I suspect that the
AppActivate method fails on this window because the window has no title
bar.

David

Hi Rodrigo Bermej,

Finally i got the solution via command prompt. Yes, I ran the Exe from
command prompt and ran the script now it is working fine. I am trying to
implement via ruby code. Thanks for your big help to freshers like me…

Hi David M. & Tsunami Scrip

Thanks for your help.

Regards,
P.Raveendran

Tsunami S. wrote:

Maybe process explorer ( from sysinternals ) can help you a bit to
locate the process you need , and you could try to get to it based on a
PID , or it’s command line . If that doesn’t work , I believe Visual
Studio has a tool ( named spy something ) , which gives you a lot of
information about a window .

FWIW, the AutoIt[1] package contains a tool that which will tell you a
tonne of information about the focussed window.

[1]AutoIt Scripting Language - AutoIt

HTH

Matt

Maybe process explorer ( from sysinternals ) can help you a bit to
locate the process you need , and you could try to get to it based on a
PID , or it’s command line . If that doesn’t work , I believe Visual
Studio has a tool ( named spy something ) , which gives you a lot of
information about a window .