AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

one executable....many users
Goto page 1, 2  Next
 
Reply to topic    AutoHotkey Community Forum Index -> Ask for Help
View previous topic :: View next topic  
Author Message
somebody
Guest





PostPosted: Tue Apr 17, 2007 3:14 pm    Post subject: one executable....many users Reply with quote

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





PostPosted: Tue Apr 17, 2007 3:56 pm    Post subject: Reply with quote

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





PostPosted: Tue Apr 17, 2007 4:07 pm    Post subject: Reply with quote

[unlock file]
Back to top
engunneer



Joined: 30 Aug 2005
Posts: 8255
Location: Maywood, IL

PostPosted: Tue Apr 17, 2007 5:08 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
somebody
Guest





PostPosted: Tue Apr 17, 2007 5:14 pm    Post subject: Reply with quote

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





PostPosted: Tue Apr 17, 2007 5:25 pm    Post subject: Reply with quote

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. Cool
Back to top
engunneer



Joined: 30 Aug 2005
Posts: 8255
Location: Maywood, IL

PostPosted: Tue Apr 17, 2007 5:46 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
somebody
Guest





PostPosted: Tue Apr 17, 2007 5:50 pm    Post subject: Reply with quote

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





PostPosted: Tue Apr 17, 2007 9:47 pm    Post subject: Reply with quote

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

PostPosted: Fri May 04, 2007 2:14 pm    Post subject: Reply with quote

Very interesting solution! I am tagging this for future reference.
_________________
[Join IRC!]
Back to top
View user's profile Send private message
tank



Joined: 21 Dec 2007
Posts: 3700
Location: Louisville KY USA

PostPosted: Wed Aug 26, 2009 8:43 pm    Post subject: Reply with quote

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
View user's profile Send private message
jaco0646



Joined: 07 Oct 2006
Posts: 3113
Location: MN, USA

PostPosted: Wed Aug 26, 2009 10:03 pm    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
tank



Joined: 21 Dec 2007
Posts: 3700
Location: Louisville KY USA

PostPosted: Thu Aug 27, 2009 2:17 am    Post subject: Reply with quote

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
View user's profile Send private message
MasterFocus



Joined: 08 Apr 2009
Posts: 3035
Location: Rio de Janeiro - RJ - Brasil

PostPosted: Thu Aug 27, 2009 3:46 am    Post subject: Reply with quote

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
View user's profile Send private message Visit poster's website
vahju



Joined: 17 Feb 2008
Posts: 296

PostPosted: Fri Aug 28, 2009 2:02 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> Ask for Help All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group