Solved

Access Citrix Instalation

Posted on 2014-02-12
5
630 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 51

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 51

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

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

617 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