Deploy MDE's on servers

Posted on 2010-11-17
Medium Priority
Last Modified: 2012-05-10
CURRENT SITUATION: Currently we have access Front ends with a combination of SQL/Access backends. When a employee needs access to an application we have a script we run that install it (Access MDE Front-end), a desktop shortcut and 2 TXT files (one with the app name and the other the app name with version number. The user can now access the application.

Weeks later and update is done. The new MDE is placed in a certain location on the server and when the user logs in it checks for the 2 TXT files and (1) if they have the app goes to step (2) checks the version number. If it's the same it does nothing; otherwise it copies the new MDE to their hard drive.

MOVING TO: We are going virtual thus users will not have a C drive. What I have come up with is s structure similar to a HOME drive. Where each user will have a folder and inside it contains the MDE. We are starting to use Citrix XenApp so I have published shortcut that will run the app where I tell it to for each user.

PROBLEM: now my problem is updating. Since we use WYSE Thin Clients the user does not actually login to the "system" till they launch an app. I can get the login script to run and replace files but if the APP is a database that needs replacement and is open it will not over write.

WHAT I WOULD LIKE TO: Is create a script that would parse through all users directories and look for an MDE Name (for example HR.MDE) if it exists copy the file to that users folder and replace it.

I figure I could scheedule to deployment batch file to run during the night say at 2 am. Since it would run through all users folders and replace the file it would only need to be run once.

MY MAIN ISSUE: What is the code to reda from a folder say called D:\UserAPPs. They go into each folder, check for that MDE and if exist replace it. It not exist or when done with that user go to the next folder till it went through all the users folders.

Wish I could 1000 ponts on this. Please Help. Any/All suggetsions will be apprciated.
Question by:ccowan159
  • 3
  • 3
  • 2
LVL 86
ID: 34157010
You could do this:

Build a Batch file that copies the FE from a specific location to one that is common to all users (for exampled: Home\Users]<UserName), then launch that file. I've done this on a XenApps setup and it works pretty well. Each time the user launches the app (or in your case, fires off the app) they get a new copy of the FE and that new copy is launched.

Author Comment

ID: 34157182
What I  hope to do is not have each user run it every time they login.

I hope I could put the batch (deployment file) on the server. Then when we update the app we schedule it for night time.

It would then read the USERAPP directory and look in each users folder and if the app is found replace it. If not continue on till done.

It would be easy for use to use windows scheduler to say set app 1 at 2 am, app 2 at 3 am. Of course we would set it to run only once since it would replace all files as needed.

Could you give me a sample of the batch file you use?

Any idea how I can do this
LVL 86
ID: 34158181
My batch file doesn't do anything more than copy a file from LocationA to LocationB, and then launch the new file at LocationB. It doesn't involve looping, directory searches, etc. YOu can probably do that with batch scripting, but I'm no expert i that area.

It seems to my your goal is to move a fresh copy of a database to a user's working directory. This is as simple as a Copy statement, but I'm not sure what the directory searching is needed for. Can you provide more details?
Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.


Author Comment

ID: 34158189
Basically you are right it is a fresh copy. My main is is the looping through the directories and then check for the file. If exist replace; if not continue to the next users folder till all done
LVL 86
ID: 34158245
I'm not sure how to do this with batch scripting. You might ask the Moderators to include the Scripting Zones in this question.
LVL 17

Accepted Solution

JezWalters earned 2000 total points
ID: 34162753
There are lots of different language choices for scripting what you're after but since you're already using VBA, why not use VBScript?  Make sense to me!  ;-)

If I've understood you correctly, you can achieve what you're after like this:
Option Explicit  ' Force explicit variable declaration

' Declare constants
Const USER_APPS = "D:\UserAPPs"            ' User applicatons folder
Const NEW_APP = "C:\Temp\Test\NewApp.mde"  ' New applicaton

' Declare variables
Dim fldApplication       ' Applications folder
Dim fldUser              ' User folder
Dim fsoFileSystemObject  ' File system object
Dim strUserApp           ' User application

' Process user applications folders
Set fsoFileSystemObject = CreateObject("Scripting.FileSystemObject")
Set fldApplication = fsoFileSystemObject.GetFolder(USER_APPS)
For Each fldUser In fldApplication.SubFolders

    ' Replace application, if it exists
    strUserApp = fldUser & "\" & Mid(NEW_APP, InStrRev(NEW_APP, "\") + 1)
    If fsoFileSystemObject.FileExists(strUserApp) Then
        fsoFileSystemObject.CopyFile NEW_APP, strUserApp
    End If
    Set fldUser = Nothing
Set fldApplication = Nothing
Set fsoFileSystemObject = Nothing

Open in new window

LVL 17

Expert Comment

ID: 34162766
You'll need to change the NEW_APP constant to be the path to your new MDE application, and then save the above as a text file with the extension '.vbs'.

It'd be worth adding some error handling too - let me know if you'd like some help with this!

Author Closing Comment

ID: 34187782
The VB solution is the best one. I used this code with some other code and was able to get the application to deply as needed without any users help

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Explore the ways to Unlock VBA Project Password Excel 2010 & 2013 documents. Go through the article and perform the steps carefully to remove VBA Excel .xls file.
In an Exchange Crossforest migration, the distribution groups can be a very complex operation that would cause loss of time, lots of issues and continued headaches if not solved in a timely manner. I had to do a similar project so I created a sc…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

587 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question