Mitsules, Mark S. (Newport News)
Mark.Mitsules at ngc.com
Mon May 3 15:07:10 CDT 2004
How do I handle the situation where someone opens the server copy of the FE directly? Brett, There is no doubt that I am confused;) But here goes... >> I don't see a reason why you need to even use batch file << I agree, I'm re-working it accordingly. >> Jürgen's statement doesn't apply << -Jürgen...please correct me if I'm wrong, but I disagree. For example...the launcher app contains a version record "2", and the filename of the local FE is "DbName_FE_1.mdb". Since Instr(strFileName, strVersion) = 0, I update the FE. If I use this method I see no reason to store a table of workstations and the latest installed FE...or am I missing something? >> recap << Except for the version checking...exactly. >> ONE application open at a time << Excellent...thank you for clarifying this. Mark -----Original Message----- From: Brett Barabash [mailto:BBarabash at tappeconstruction.com] Sent: Monday, May 03, 2004 2:07 PM To: 'Access Developers discussion and problem solving' Subject: RE: [AccessD] Deployment Woes Mark, First of all, I don't see a reason why you need to even use batch file. All of the file copy operations are already built into VBA, and you can write a quick 'n' dirty routine to do it from there. Jürgen's statement doesn't apply in this case, since you already stated that you want to use the mdb file as the launcher. In this case, the database is already open. The difference between checking for a file and pulling a record from an update table is of no consequence to the app's performance. I am still assuming that you don't want to change the user's workstation paths, which is why I gave you sample code to support this. If changing their shortcuts is an option, you could use my batch file approach. Quick, simple, easy to maintain, updates are as simple as changing the version number in the batch file. I really don't want to start a turf war about the "best" way to do this. To each their own. It just seems that you are confused as to what you are trying to accomplish, and I'm just trying to nail down the best solution that will suit your needs. Again, to recap what I had in mind in my previous message: - User starts launcher, located at your existing server location. - Launcher checks workstation record in it's table to determine if it exists/is up to date. - If necessary, Launcher copies the newest FE files to workstation, and logs version number in its own table. - Launcher shells out to launch FE mdb file stored on workstation, and closes itself e.g.: Shell "C:\Program Files\Microsoft Office\Office\MSACCESS.EXE c:\myappdir\myapp.mdb" Application.Quit This results in ONE application open at a time (except for split second between the Shell statement and the Application.Quit statement). <snip>