| View previous topic :: View next topic |
| Author |
Message |
somebody Guest
|
Posted: Tue Apr 17, 2007 3:14 pm Post subject: one executable....many users |
|
|
I have an executable written in AHK sitting on a network drive...I have multiple users that run this executable from that network drive. Now, when I make enhancements/fix bugs with the program and try to put the updated version into that network folder, it wont' let me b/c the program is currently running. Is there a way to suspend the program and throw my updated version out there, then reload the script without the users ever knowing?
Any suggestions would be greatly appreciated. |
|
| Back to top |
|
 |
Grumpy Guest
|
Posted: Tue Apr 17, 2007 3:56 pm Post subject: |
|
|
I have seen exactly the same question some time ago...
Perhaps it is worth searching the forum, although finding the right keywords can be hard... |
|
| Back to top |
|
 |
BoBo Guest
|
|
| Back to top |
|
 |
engunneer
Joined: 30 Aug 2005 Posts: 8255 Location: Maywood, IL
|
Posted: Tue Apr 17, 2007 5:08 pm Post subject: |
|
|
I have done something like this at work, and have a hack that works for me. I basically have the program checking for a trigger on the network drive (which is another script that is compiled), then the program exits on everyone's computer, and runs the trigger script, which waits for a second trigger (which is a second compiled script) that tells it to run the main program again.
It shounds messy, but is in fact quite easy. I can post the code if needed. _________________
(Common Answers) |
|
| Back to top |
|
 |
somebody Guest
|
Posted: Tue Apr 17, 2007 5:14 pm Post subject: |
|
|
| I checked the other link that uses some type of 3rd party unlocking software, but I'd prefer to use strictly AHK to do this. Enguneer, if you could point me in the right direction, that would be helpful. |
|
| Back to top |
|
 |
BoBo Guest
|
Posted: Tue Apr 17, 2007 5:25 pm Post subject: |
|
|
| Quote: | | I have an executable written in AHK sitting on a network drive | You could set the exe to use AHK's OnExit to write the clients 'offline' status to a log hosted at the same place as the executable.
Another script watches out (reads the log) till all clients are stated as offline, to replace the executable once that happened.
JM2€C's. Good luck.  |
|
| Back to top |
|
 |
engunneer
Joined: 30 Aug 2005 Posts: 8255 Location: Maywood, IL
|
Posted: Tue Apr 17, 2007 5:46 pm Post subject: |
|
|
I will state again that this is not particularly elegant, but it works for me.
;*** marks things you need to change for your environment
main script
| Code: |
;autoexecute section
Loop,
{
IfNotExist, TurnOff.exe
{
IfNotExist, TurnOn.exe
{
break ;don't start until the trigger files are deleted
}
}
sleep, 5000
}
SetTimer, UpdateAll, 30000 ;Run every N milliseconds
;your code can go here
Return
UpdateAll:
;Check for reloader
IfExist, TurnOff.exe
{
Run, TurnOff.exe
ExitApp
}
Return
|
TurnOff.ahk
| Code: |
;Instructions
;Compile TurnOff.ahk
;wait for ready message
;Compile main script.ahk
;Compile TurnOn.ahk
;wait a few seconds
;delete turnoff.exe
;*** put the name of your program here to notify users that the program is reloading
MsgBox, MAIN SCRIPT is being updated to a new version. It will start again automatically in 2-3 minutes.
Sleep, 60000
EnvGet, username, USERNAME
IfEqual, username, YOURUSERNAME ;*** put your user name here to be notified when all scripts should be closed
MsgBox, Try it now - compile the main script`nwait a few seconds`ncompile TurnOn`nwait a few seconds`ndelete Turnoff.exe`nwait a few seconds`ndelete Turnon.exe
;You can also cause TurnOff.exe to compile your main script, but I did not do this.
Loop,
;Check for reloader
{
IfExist, TurnOn.exe
{
Run, TurnOn.exe
ExitApp
}
Sleep, 5000
}
|
TurnOn.ahk
| Code: |
Run, main script.exe ;*** change to name of your compiled script
ExitApp
|
_________________
(Common Answers) |
|
| Back to top |
|
 |
somebody Guest
|
Posted: Tue Apr 17, 2007 5:50 pm Post subject: |
|
|
| thank you very much....don't worry about the elegance, you haven't seen some of my code. thanks again and I'll give this a try. |
|
| Back to top |
|
 |
somebody Guest
|
Posted: Tue Apr 17, 2007 9:47 pm Post subject: |
|
|
| THANKS! It worked perfectly...I changed it up a little bit, to send the user a msgbox when it was updated. |
|
| Back to top |
|
 |
Rhys
Joined: 17 Apr 2007 Posts: 761 Location: Florida
|
Posted: Fri May 04, 2007 2:14 pm Post subject: |
|
|
Very interesting solution! I am tagging this for future reference. _________________ [Join IRC!]
 |
|
| Back to top |
|
 |
tank
Joined: 21 Dec 2007 Posts: 3700 Location: Louisville KY USA
|
Posted: Wed Aug 26, 2009 8:43 pm Post subject: |
|
|
i know this is a particularly old thread but happened upon it
I use a web server to deploy scripts to a local desktop to run the scripts first line deletes itself
the web site is a trusted source so no active x prompts
if anyone is interested i might create a small template to demonstrate the technique _________________
We are troubled on every side‚ yet not distressed; we are perplexed‚
but not in despair; Persecuted‚ but not forsaken; cast down‚ but not destroyed; |
|
| Back to top |
|
 |
jaco0646
Joined: 07 Oct 2006 Posts: 3113 Location: MN, USA
|
Posted: Wed Aug 26, 2009 10:03 pm Post subject: |
|
|
| It is an interesting idea, though I have no use for it personally. Isn't this why IT updates are usually scheduled during system down time (i.e. the wee hours of the morning)? |
|
| Back to top |
|
 |
tank
Joined: 21 Dec 2007 Posts: 3700 Location: Louisville KY USA
|
Posted: Thu Aug 27, 2009 2:17 am Post subject: |
|
|
IT updates are typically scheduled during off peak hours to avoid large impacts if the updatesbreak something and allow minimum impact to trigger rollback
many development teams use something know as cvs CODE Versioning Store
this allows for instance JAVA developers to mercge changes when going live
My method of deploying applications made with ahk ensures the files are always fresh and never running from the server or network share so edits can be done freely. Wise developers push updates live at carefully scheduled times _________________
We are troubled on every side‚ yet not distressed; we are perplexed‚
but not in despair; Persecuted‚ but not forsaken; cast down‚ but not destroyed; |
|
| Back to top |
|
 |
MasterFocus
Joined: 08 Apr 2009 Posts: 3035 Location: Rio de Janeiro - RJ - Brasil
|
Posted: Thu Aug 27, 2009 3:46 am Post subject: |
|
|
| tank wrote: | | if anyone is interested i might create a small template to demonstrate the technique |
That'd be welcome. _________________ "Read the manual. Read it again. Search the forum.
Try something before asking. Show what you've tried."
Antonio França
My stuff: Google Profile |
|
| Back to top |
|
 |
vahju
Joined: 17 Feb 2008 Posts: 296
|
Posted: Fri Aug 28, 2009 2:02 am Post subject: |
|
|
| tank wrote: | | My method of deploying applications made with ahk ensures the files are always fresh and never running from the server or network share so edits can be done freely. Wise developers push updates live at carefully scheduled times |
I would like to hear more about how you do this. I work with a 20 man helpdesk and would love to find a way to synch helpdesk hotkey list. |
|
| Back to top |
|
 |
|