[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Is it possible to install exe via ruby code ?

Raveendran Jazzez

1/20/2009 11:50:00 AM

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.
--
Posted via http://www.ruby-....

12 Answers

Raveendran Jazzez

1/20/2009 11:59:00 AM

0

Sorry for the wrong code in previous post

working code:

require 'watir'
ie=Watir::IE.new
ie.goto("file:///c:/test.exe")
--
Posted via http://www.ruby-....

Rodrigo Bermejo

1/20/2009 3:11:00 PM

0

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")
--
Posted via http://www.ruby-....

Raveendran Jazzez

1/21/2009 5:52:00 AM

0

Hi Rodrigo Bermejo,

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
--
Posted via http://www.ruby-....

Rodrigo Bermejo

1/21/2009 6:49:00 PM

0


>
> Waiting for ur reply

It seems your are not getting the focus on the target window.
<the argument to AppActivate is the title displayed on the window>


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


-r.



--
Posted via http://www.ruby-....

Raveendran Jazzez

1/22/2009 5:02:00 AM

0

Hi Rodrigo Bermejo,

Please see the attachment and let me know ur feedback.

Sorry for disturbing you continuously..

Thanks in Advance.


Attachments:
http://www.ruby-...attachment/3192/Issue_i_am_...

--
Posted via http://www.ruby-....

Rodrigo Bermejo

1/26/2009 3:27:00 PM

0

jazzez ravi wrote:
> Hi Rodrigo Bermejo,
>
> 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.
--
Posted via http://www.ruby-....

Raveendran Jazzez

1/27/2009 3:28:00 AM

0

Hi Rodrigo Bermejo,

OS --> Windows XP + Service pack3

>
> This strange. Are on Windows Vista /?
>
> -r.

--
Posted via http://www.ruby-....

David Mullet

1/27/2009 2:01:00 PM

0

jazzez ravi wrote:
> Hi Rodrigo Bermejo,
>
> 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.bl...
--
Posted via http://www.ruby-....

Rodrigo Bermejo

1/27/2009 3:59:00 PM

0

David Mullet wrote:
> jazzez ravi wrote:
>> Hi Rodrigo Bermejo,
>>
>> 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.bl...

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

--
Posted via http://www.ruby-....

Tsunami Script

1/27/2009 11:43:00 PM

0

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 .
--
Posted via http://www.ruby-....