Solved

Deploying Application on Citrix

Posted on 2006-11-28
12
1,695 Views
Last Modified: 2012-08-13
I have an Access 2003 application with SQL Server 2000 backend that I wish to deploy on Citrix Presentation Server 4.0.  I have already deployed in a testing environment, with no problems.  However, there are many discussion threads here that mention that each user must have a copy of the front end in their profile, or the file will become corrupted.  

Is this applicable for Citrix, or just for Microsoft Terminal Server.  Im not a network admin, but it seems to me, that Citrix should somehow be able to handle this issue internally without the need to make several copies of the file for each user profile manually.

If I am wrong, and the multiple copy is necessary, can someone assist me with the steps for doing this.  I am very green with Citrix.

Thanks
0
Comment
Question by:BillPowell
[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
  • 3
  • 3
  • 3
  • +2
12 Comments
 
LVL 38

Expert Comment

by:Jim P.
ID: 18030039
We have Citrix PS4. We use one DB per application with no problems.  Go for it.
0
 
LVL 8

Assisted Solution

by:Jillyn_D
Jillyn_D earned 100 total points
ID: 18030048
Hi BillPowell,

I have several applications with front-end/back-end that are deployed to multiple users in a Citrix environment.  I give each user a fresh copy of the front-end each time they log in, and place it in their profile on the Citrix box.  However, the other programming group has user connect directly.  They run into more corruption than I do, but not significantly more than they did connecting directly accross a semi-flakey network.

Good luck!
~Jillyn
0
 
LVL 85

Accepted Solution

by:
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 200 total points
ID: 18030140
Yes, each user should have their own copy of the frontend. Citrix is nothing more than a "network in a box" and has the same requirements as Terminal Server (they both run on the same platform, and Citrix is basically built on top of Terminal Services). Citrix can no more "handle this" than can Server 2000 or 2003.

You don't need to make copies for each user and deploy them manually, if that's what you're concerned with. I normally build a batch file that runs on user login that copies a frontend to the users MyDocuments folder and then runs that copy. This allows me to easily deploy updates as well, since all I have to do is just drop the new copy into the correct folder on the TS box and the update is done.

Here's a sample batch file:

@Echo Off
COPY "C:\PROGRA~1\LRO\WorkOrders.mde" "%USERPROFILE%\WorkOrders.mde"
C:\PROGRA~1\LRO\LRO.lnk

This does nothing more than copy one file to the user's My Doc area, then launches a standard .lnk (shortcut) file to properly start the Access program. You can get much fancier, of course, but I've found this to be as easy as anything else.

It's tough to give advice on where to start; I'd assume that, if you have a Citrix box then someone in your organization will be able to assist you with this. If you're doing this for a client, then I'd suggest enlisting the help of a Citrix Pro (since you concede that your Citrix skills are lacking). Setting up a Citrix box correctly is a daunting task even for experienced admins. Of course, the Citrix site offers a lot of web-based assistance, and the good thing about Citrix is you can hire one of their pros to do it off-site (assuming you allow them Admin perms on the box, that is).
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 38

Assisted Solution

by:Jim P.
Jim P. earned 100 total points
ID: 18030258
We have successfully done published applications of Access DB's from front-ends on Sybase, Oracle and SQL Server to Access only solutions.  We have the one database located in one central location and have both local and citrix users accessing the same mdb without corruption problems.

We had a dodgy network originally, but that was 3-4 years back since we cured that and have not had any corruption issues.
0
 
LVL 34

Assisted Solution

by:jefftwilley
jefftwilley earned 100 total points
ID: 18030557
We use a centralized application (shared) with a backside connection to a shared network server and give only the citrix client itself to the users. They don't ever receive the front end of my application...just a shortcut or virtual version of the front end. thus far, no corruption. 50 plus users.
J
0
 
LVL 11

Author Comment

by:BillPowell
ID: 18030937
This is very interesting.  Differing points of view coming from seasoned Access veterans.  I have always deployed front ends to each users workstation.  I wouldnt have it any other way.
For those who say that having one file on the citrix server shared, would you do the same on a regular network, and if not, why is it any different when your working in a Terminal Services environment?
0
 
LVL 11

Author Comment

by:BillPowell
ID: 18030973
Scott,
We have an inhouse Citrix Administrator, so with a little more explanation, this would not be hard to implement Im sure.
0
 
LVL 34

Expert Comment

by:jefftwilley
ID: 18031054
It's a design choice. In my instance the application deployed on citrix is all transaction based. It is not used for anything more than data entry much like a survey with some import/export and reporting features. for larger applications that require much more processing I deploy a front end app to each desktop with a remote back end catering to that specific location. I also run terminal sessions where I have a central server and a only shortcut to my front end on each user's desktop vs a client. Again, no issues. So I guess it all depends on what you're doing and the capabilities of your network.
0
 
LVL 38

Expert Comment

by:Jim P.
ID: 18031220
I hate "Me too's" but we pretty much do it the same way as Jeff does his.
0
 
LVL 85
ID: 18031356
Install the application's frontend and backend as you normally would, making sure that all the necessary files, libaries, and controls (if needed) are available for All Users. Set the required permissions on the folder hosting the backend (read/write/create/delete for the Remote users group, whatever that may be called on your Citrix installation). Open the frontend and relink to the new backend location on the Citrix box.

If you're using a workgroup file, then build a desktop shortcut that correctly opens your database; if not, you can normally just call it directly, but I prefer to use a shortcut. Let's name the shortcut StartUp.lnk, and set the target to something like this:

"Full path to MSACCESS.exe" "Full path to the database" (add the /wrkgrp "Full path to your workgroup" if using security)

Note that on the Citrix box, the path to msaccess.exe will be the same for everyone, but the path to the database will be different user, so we use the environment variables to point the shortcut to the correct path:

"Full path to MSACCESS.exe" "%USERPROFILE%\UserFrontEnd.mde"

Note that the second part of the shortcut above exactly matches the second part of the COPY line in the batch file below ... that's important.

After building the shortcut, place it somewhere that's available to all users, like the folder hosting the backend file.

Now build a batch file similar to the one described above (we'll call it StartMeUp.bat, apologies to the Stones):

@Echo Off
COPY "C:\PROGRA~1\MyDatabase\MyFrontEnd.mde" "%USERPROFILE%\UserFrontEnd.mde"
C:\PROGRA~1\MyDatabase\StartUp.lnk

If you want this available to all users, place it in the <root>\Documents and Settings\All User\Desktop folder. If you want to deploy it to certain users as needed, then you can do so manually, or you can add your db users to a specific group, and configure a logon script that will copy the shortcut to their %USERPROFILE%\Documents and Settings\Desktop folder. Note that %USERPROFILE% almost always points to the <Root>\Documents and Settings\<User> folder but you might want to verify that first.

So, basically what happens is

1) User logs onto Citrix box
2) User clicks on your StartMeUp.bat file
3) Batch file runs, copying over a new, fresh frontend
4) Batch file then fires the StartUp.lnk file
5) Access opens, and opens your db

So, when you want to deploy a new file, you simply replace the file at C:\PROGRA~1\MyDatabase\MyFrontEnd.mde with a new file, making sure to name it as MyFrontEnd.mde

You can also force your users to only interact with your program by immediately calling the Startup.bat file when they log in ... i'm not sure how Citrix does this, but your admin should be able to advise you how to run a program on startup.

Additional:

You can find out what server/environment variables are available on your specific box by entering "set" (without the quotes) at a command prompt.
0
 
LVL 11

Author Comment

by:BillPowell
ID: 18031897
Does the users desktop shortcut launch your batch file before it attempts to open the database.  Or is launching the batch file something that Citrix initiates at the beginning of each user session.

Also, does each user get their own shortcut, or can that file be safely shared?
0
 
LVL 85
ID: 18038140
Either way ... the user could initiate, or you could configure a logon script that would automatically do so. In TS, we can set the "initial login program" to that batch file ... I'm sure you can do the same with Citrix, but I don't have access to a Citrix box right now.

The shortcut file is shared, there's a paragraph in my earlier post regarding this ...
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

705 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