Solved

Access Citrix Instalation

Posted on 2014-02-12
5
591 Views
Last Modified: 2014-02-17
I know this is a longshot since I'm posting in an Access forum but I promised my IT person I would ask for input.  I have installed an Access 2003 application on the clients network.  The front end is an MDE and the data backend is an MDB resident on the server.  The installation is handled by Sagekey.

We have dozens of clients set up with this same configuration.  In those cases each user has a copy of the app on their local machine and the data is resident on the server.

Half of the user for the new client are set up in a similar manner, local copy on tier machine, linked to data on the server.  Those users are fine.   However, this client also has a satellite office with the other half of the users.  The satellite users come into the system using Citrix.  I don't know Citrix and I am not a communication person but I'll try to relay this as best as I can.  As explained to me, on the cirtix side there are two servers the users come in to one or the other.  Our application is installed on each server, one time.  That means that multiple Citrix users are using the same MDE.  A a rule we offload as much as possible to the clients and use local tables to process the selected data.  As you might guess, with multiple users using the same MDE, the local tables aren't functioning as they should. If 2 users are using the same local table in the same MDE their data becomes intermingled and the results are incorrect.

My first suggestion was to install a local copy on each machine of the satellite users.  The IT person is hesitant to do this because he feels having them connect thru a VPN (whatever that is)  would not provide adequate response.

My question:  Have any of you EE'ers installed you apps in similar circumstances?  If so, what kind of architecture did you use for the remote users?
0
Comment
Question by:mlcktmguy
  • 2
  • 2
5 Comments
 
LVL 49

Accepted Solution

by:
Gustav Brock earned 500 total points
ID: 39855577
We have done this with Access 2010 on Windows 7.

The trick was to launch the app from a shortcut on the user's virtual desktop. This runs a VB script that creates the local folders and copies the frontend from a shared read-only folder to the user's local "machine" on the hidden drive C in the user's AppData folder (which is recreated from scratch each time the user logs on), say:

C:\Users\<username>\AppData\Local\<companyfolder>\<projectfolder>\<applicationfolder>

After a successful copying, the script launches the application in runtime mode.

This worked at the first attempt because the user has full rights to the AppData folder.

/gustav
0
 
LVL 19

Expert Comment

by:Eric Sherman
ID: 39856317
I agree, the method that Gustav posted above is the most common and practical approach.  However, I have a client that had the same requirement and their IT dept. did not want to use the Citrix or VPN methods.  Since the F/E was Access and the B/E was MySQL, I gave them the option to change the application a bit such that it connected directly to their MySQL server (when needed) using ODBC rather than linking all the tables at one time as this would degrade the performance for remote users.  Then distribute a desktop Access F/E with the Runtime version of Access using an Inno installation script.  This also included a function to download the latest version of the desktop app from their internet server whenever a modified version was published.

The advantage was, I did not use linked tables to the MySQL server.  I used all Pass-Through Queries that included the necessary ODBC Connection string at the time they were run.  Same with data entry, I used ADODB connections to update recordsets and released the connection when finished.  Any laptop running in the field that had an internet connection could run the Access app with pretty much the same performance as the users back in the office.  I was amazed at the performance to be honest.

Just another approach ...

ET
0
 
LVL 1

Author Comment

by:mlcktmguy
ID: 39863514
Thanks you for the suggestions,  I passed Gutav's response on to the IT people and they are working thru it.  With some modificaton since we have a Sagekey installer.  Sagekey takes care of putting the runtime on the machine and setting up everything to run.

MY suggestion was to adapt Gutav's approach putting an Icon on the users desktop that points to the Sagekey installer on the server.  They would use that to get into the app.  It would refresh/reinstall each time they entered but that's not a big issue since they only log on once a day.  This would also ensure that they always had the most recent version of the application.

The IT people said it failed because the user did not have adequate authority to install and the are reluctant to give it to them.

I suggested setting the 'Run as Adminstrator' property of the desktop icon so they owuld have authority.  I heard that is giving issues also but haven't gotten the specific yet.

Any ideas on your part Gustav?
0
 
LVL 49

Assisted Solution

by:Gustav Brock
Gustav Brock earned 500 total points
ID: 39864107
The trick is that you don't "install" anything. A proper Access (runtime) must already be present and for that you use the SageKey installer but any other method could be used.

Then, what the user does, is a simply copying of the accdb file to the user's AppData folder and creating a shortcut on the desktop. It takes very little in a Citrix environment as these are often quite heavily powered.

It is certainly doable. My client is a 40000+ employees retail organisation with very strict security due to the vast count of geographical locations.
They do have Access 2010 installed for the relevant employees, so the shortcut launches the application with the /runtime switch.

I had foreseen al sorts of trouble and struggling with the Citrix admins (for a good reason because I understand the caution about security) and had prepared the group I work for, so I earned a lot of credits having this functioning at once.

/gustav
0
 
LVL 1

Author Closing Comment

by:mlcktmguy
ID: 39866476
Gustav, thank you so much.  This was becoming a huge problem.  I have a lot of Access experience but I am lost in the communication/network world.  The IT person really had no idea how to resolve this but we implemented your suggestions and the application is operating as it should for multiple users in the Citrix environment.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

In the previous article, Using a Critera Form to Filter Records (http://www.experts-exchange.com/A_6069.html), the form was basically a data container storing user input, which queries and other database objects could read. The form had to remain op…
I see at least one EE question a week that pertains to using temporary tables in MS Access.  But surprisingly, I was unable to find a single article devoted solely to this topic. I don’t intend to describe all of the uses of temporary tables in t…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

758 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now