I'm not sure how closely this relates to the original post, but I just downloaded the LAUNCHER application from .....
http://www.franklins.net/dotnet/ I followed the instructions: -- Created a web site on our intranet -- zipped up the BIN folder of my application -- Changed the 4 variables from "myapp" to "the name of my app" '-- URL to the zip file containing the app Private ZipURL As String = "http://www.mydomain.com/myapp.zip" '-- Local zip file name to save it to Private LocalZipFile As String = Application.StartupPath & "\myapp.zip" '-- Local dir where the .exe will reside Private LocalExeDir As String = Application.StartupPath & "\myapp" '-- Local .exe filename Private LocalExeFile As String = LocalExeDir & "\myapp.exe" -- reset the reference to the Zip Library. -- Compiled the LAUNCHER app, ran it on a machine that did not have the application previously installed. Got the hourglass for about 30 seconds, and then my application loaded. IT WORKED! >From the website (http://www.franklins.net/dotnet/): So I was not satisfied with all of the options for auto-deploying .NET apps in version 1.1, and rather than waiting for ClickOnce, which only works in v2.0 anyway, I sat down and designed and developed a simple and effective solution. Launcher is a VB.NET project called you can copy to a new dev directory and modify for each application you want to auto-deploy. Change four variables, rebuild, create a deployment project for Launcher and distribute it. When your user runs Launcher, everything happens automatically. Launcher prompts the user for downloading a newer version if one is available, downloads, unzips, and runs the app. If offline, Launcher simply runs the current version. The logic here is easy to modify to suit your needs. The zip file is downloaded in chunks using the asynchronous model, and unzipped asynchronously as well. Note that this application works well with small projects but not so well with large projects. Because a new zip file is downloaded whenever there are any changes, if the zip file is too large your user may get impatient. Also, make sure that your application generates any settings files itself. That way, you don't run the risk of overwriting your settings whenever you update the application. -----Original Message----- From: Shawn A. Van Ness [mailto:[EMAIL PROTECTED] Sent: Tuesday, February 01, 2005 2:18 PM To: [email protected] Subject: Re: [ADVANCED-DOTNET] How do I determine if an instance of a smart client is already up? You need SecurityPermission.UnmanagedCode to acquire a named Mutex. This is sortof an unavoidable fact of life: otherwise, malicious controls could potentially interfere with other apps, by acquiring their Mutex(es). As hacky as it sounds, creating and/or locking a file in Isolated Storage might be the best way to accomplish this, in a partial-trust environment. -S On Tue, 1 Feb 2005 12:37:29 -0500, Jones, Jason <[EMAIL PROTECTED]> wrote: > This seems kludgy to me. If you are going to be grabbing resources, grab a mutex or semaphore, which are designed for cross-process communication. > > Problem is (and this will be a problem with the solution below), since you are doing a NTD, you might not have the permissions to grab local resources. You have to p/invoke to get a semaphore, but you might be able to get a mutex since it's managed. I am not sure of the particulars, but hopefully you can research it from here. > > ________________________________ > > From: Unmoderated discussion of advanced .NET topics. on behalf of saad rehmani > Sent: Tue 2/1/2005 12:35 PM > To: [email protected] > Subject: Re: [ADVANCED-DOTNET] How do I determine if an instance of a smart client is already up? > > > Grab a resource on startup. If its not available, your client is still up. Be sure to clean up on exit. Examples: > > - Open a socket listener. > - Open a file with write access. > > Saad > . > > Raj Malli <[EMAIL PROTECTED]> wrote: > Hi all > > I do not want users to launch multiple instances of my smart client. What > is the simplest way to detect if an instance of a smart client is already > up? I guess I will not know it from the process list as all I see is > IEExec.exe (smart client is launched off an IE shortcut) corresponding to > my smart client application. > > Any pointers is appreciated > > Thanks > Raj > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at http://discuss.develop.com > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at http://discuss.develop.com > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at http://discuss.develop.com > =================================== This list is hosted by DevelopMentor(r) http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com =================================== This list is hosted by DevelopMentor� http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com
