Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate

one executable....many users


  • Please log in to reply
17 replies to this topic
somebody
  • Guests
  • Last active:
  • Joined: --
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.

Grumpy
  • Guests
  • Last active:
  • Joined: --
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...

BoBo
  • Guests
  • Last active:
  • Joined: --
[unlock file]

engunneer
  • Moderators
  • 9162 posts
  • Last active: Sep 12 2014 10:36 PM
  • Joined: 30 Aug 2005
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.

somebody
  • Guests
  • Last active:
  • Joined: --
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.

BoBo
  • Guests
  • Last active:
  • Joined: --

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. 8)

engunneer
  • Moderators
  • 9162 posts
  • Last active: Sep 12 2014 10:36 PM
  • Joined: 30 Aug 2005
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
;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
;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
Run, main script.exe          ;*** change to name of your compiled script
ExitApp


somebody
  • Guests
  • Last active:
  • Joined: --
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.

somebody
  • Guests
  • Last active:
  • Joined: --
THANKS! It worked perfectly...I changed it up a little bit, to send the user a msgbox when it was updated.

Rhys
  • Members
  • 761 posts
  • Last active: Aug 09 2013 04:53 PM
  • Joined: 17 Apr 2007
Very interesting solution! I am tagging this for future reference.

tank
  • Administrators
  • 4345 posts
  • AutoHotkey Foundation
  • Last active: May 02 2019 09:16 PM
  • Joined: 21 Dec 2007
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
Never lose.
WIN or LEARN.

jaco0646
  • Moderators
  • 3165 posts
  • Last active: Apr 01 2014 01:46 AM
  • Joined: 07 Oct 2006
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)?

tank
  • Administrators
  • 4345 posts
  • AutoHotkey Foundation
  • Last active: May 02 2019 09:16 PM
  • Joined: 21 Dec 2007
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
Never lose.
WIN or LEARN.

MasterFocus
  • Moderators
  • 4323 posts
  • Last active: Jan 28 2016 01:38 AM
  • Joined: 08 Apr 2009

if anyone is interested i might create a small template to demonstrate the technique

That'd be welcome.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Antonio França -- git.io -- github.com -- ahk4.net -- sites.google.com -- ahkscript.org

Member of the AHK community since 08/Apr/2009. Moderator since mid-2012.


vahju
  • Members
  • 337 posts
  • Last active: Sep 21 2014 03:52 AM
  • Joined: 17 Feb 2008

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.