Access 2007 on Citrix Windows Server 2003 Config

Rx_

Nothing In Moderation
Local time
Yesterday, 18:05
Joined
Oct 22, 2009
Messages
2,803
The other threads were a little aged, so I will start a new one.

Looking for a How-to article for my IT administrator using Citrix.
Citrix on Windows 2003 Server with an Access 2007 FE & BE is having the following issues.

Problem:
Post Access 2007 FE and BE on a shared server drive (same directory) for Citrix publication.
Assume running a benchmark report under these conditions.

Conditions and relative results:
1 user: FE on my XP Desktop linked to BE on the Windows 2003 Shared Server Drive
Results: 1 X seconds
1 user: FE on XP Desktop linked to BE on same XP (just for a non-networked benchmark)
Results: 1 X seconds
1 User: Citrix runs FE linked to same shared BE (nobody else is on, single user)
Results: 1.1 X seconds
3 Users: Citrix runs FE linked to same BE on server
Results 3.4 X seconds
3 Users on Citrix - with Me running on XP Desktop linked to same shared BE on server
Results 1X seconds

Note: Last result - during the multiple Citrix users (that were slow), connecting to the same BE from my workstation was still just as fast as a single user.

This indicates to me, that Citrix is serving up the same instance of the FE to multiple users.
Kind of like putting one FE on a network drive and giving three people shortcuts to it.
The file and resource management creates overhead. That is why we use to deploy a FE to each workstation and link it to a common BE.

What I am looking for is a good "how-to" article for my IT department for Citrix serving the Access FE.

What I feel should happen is: For each Citrix user, Citrix should make a copy of the FE and start an instance (or maybe the term is a virtual server) with its own resources for the session. At the end of the session, it would probably destroy the users virtual session instance.

Back in 2000, a Citrix guru set up an Access 97 system and described this kind of process. It served about 100 Long Term Health facilities, most of which had dial up modems. It was fast and efficient and easy to deploy new versions.
 
Last edited:
Our Citrix has been using a standard access extension for the FE.
After making an MDE (now ACCDE) and running the benchmark, there was no difference in speed.

But, of course the AccDE is much smaller should we need to create multiple folders with the FE.

However, the Database has not been compacted in several weeks.
The size of 28 Megs was not as noticeable as the speed.
The same ACCDE after the compact ran the benchmark in half the time.

Verified with our Citrix administrator that we are in fact serving up the same single file to multiple users.

Once they come up with a plan, I will be sure to post the results.
And, hope that other "success stories" will share too.
 
You had a quote on your other thread that I suspect was mine:

"I wrote a front end version control utility that put the front end in a specific folder on the C drive. That's fine for a PC environment, but caused problems in a Terminal Server/Citrix environment. While users theoretically run their own copy, in reality they don't. I modified my utility to create a subfolder based on the logged in user, so now each person truly has their own copy. The quirky issues I was having went away."

If it wasn't a quote of mine, it could have been because that describes my issues and response. I use local tables in the front end in a couple of applications, and multiple users in a TS/Citrix environment definitely got mixed up until I made sure each user had their own physical copy of the FE.
 
We use a batch file to copy the database to a user's profile when they click on the icon (which really runs the batch file). So it copies the latest version over and opens it for them.
 
PBaldy - you suspected right. Sorry I lost the link during the copy/paste.
After talking with the IT/Citrix manager, he knows we only have one copy that is being shared with everyone. I too use local tables for some of the larger reports. And worry about this besides the slower response.
For now, we have about 20 users, the IT staff is going to think about how to create the least maintenance intensive way of one folder per user, or a dynimic folder creation as each user requiest it.

Bob, a batch file would be great to copy the FE into the user folder.
That would make my life more simple during new version releases.
At another site, I use a program that copies the new Access release from a network share over to each users workstation. Citrix basically requires the same concept of one copy of the FE for each user.

My little test (above) helped the IT staff better understand the problem. It in not the role of network professionals to understand Access. And, of course, there is more than one way to configure Citrix for using Access.

If the Citrix people wrote a three page How-To-configure-Access document; they would probably sell many more license.

Thanks for the comments.
Bob, If you wanted to share the batch file, I am sure it would be appreciated by the IT staff.
 
Last edited:
This would be it basically (I pulled some stuff out that was only applicable to our network and that shouldn't affect you). It makes a directory in the user's home directory and then copies the file over and then starts it.

Code:
@echo Please wait while the version of the database you requested is updated.

@echo off


MD "L:\Database\"

xcopy /Q /Y R:\FE\Current\IRDB.mde "L:\Database\*.*"

TYPE NUL | choice /c:delay /td,5 >NUL

Start /max "E:\Microsoft Office\OFFICE11\MSACCESS.EXE" "L:\Database\IRDB.mde" 


exit
 
Thanks! Both of your comments (along with my charming personality LOL) got great results.
This all lead to a very productive meeting with the IT staff.
A new citrix was set up that dynamically creates a user profile and copies the FE into each user's profile.
As users log in, the locking file can be seen in each user's folder. That just confirms for me that the copy in the user's folder is being used by the Citrix session.
The results are astounding.

Anyone who doesn't think Access can run effieciently on Citrix needs to review this thread or ask more questions.

Disclaimer: This solution only works for a split database (front end and data in the back end). I did not want my IT staff to take someone elses single database file and think it could produce the same results.

Access is much more interactive and responsive than any Web solution when configured with Citrix properly.

The batch file copying the FE over takes no time at all to run.

Another huge bonus: I can now drop a new FE version into a folder. I use to have to wait until everyone logged out since everyone was sharing the same FE.
 
Wow, what a difference.
Having the lastest FE version in a folder - with the FE copied to each users profile folder is so much smoother. Now, the largest reports run in a consistent time regardless of how many people are logged in to the Access application.
Also, I can update a version in the folder from where the FE is being copied to the user profile folders. No more waiting for everyone to log out in order to make the next version release. The next time someone loggs in, they automatically get the latest version.
Looking into each user profile folder, it becomes easy to spot which ones have the locking file, to determine who has the application open.

Bottomline, anyone using Access (a split DB with a Front End and back end) on Citrix (or Terminal Services) should do this.

Tested a .mde version. It did not run any faster at all. Since users can't get to the .mdb (.accdb) on the server except through Citrix, will leave it in a native format. If anything, it allows me to jump in and make a quick code update.


Code:
@echo Please wait while the latest version of the database is updated to your personal Profile folder.
@echo off
@echo %username%
if not EXIST "[URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%[/URL]" goto notthere
xcopy /Q /Y "[URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\MY_DB_CityNamever.accdb"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\MY_DB_CityNamever.accdb[/URL]" "[URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\[/URL]*.*"
REM TYPE NUL | choice /c:delay /td,5 >NUL
Start /max "S:\Microsoft Office\OFFICE11\MSACCESS.EXE" [URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\MY_DB_CityNamever.accdb"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\MY_DB_CityNamever.accdb[/URL]" 
exit
:notthere
@echo Creating You A New Profile
MD "[URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%[/URL]"
xcopy /Q /Y "[URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\MY_DB_CityNamever.accdb"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\MY_DB_CityNamever.accdb[/URL]" "[URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\[/URL]*.*"
REM TYPE NUL | choice /c:delay /td,5 >NUL
Start /max "S:\Microsoft Office\OFFICE11\MSACCESS.EXE" [URL="file://\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\MY_DB_CityNamever.accdb"]\\CityNamefs16\CityNamecommon\Admin\CityNameverDB\MY_DB\Profiles\%username%\MY_DB_CityNamever.accdb[/URL]" 
exit
 

Users who are viewing this thread

Back
Top Bottom