[Last Call] Learn about multicloud storage options and how to improve your company's cloud strategy. Register Now

x
?
Solved

Deploying Application on Citrix

Posted on 2006-11-28
12
Medium Priority
?
1,700 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 400 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 800 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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
LVL 38

Assisted Solution

by:Jim P.
Jim P. earned 400 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 400 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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

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.

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

Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
This article shows how to get a list of available printers for display in a drop-down list, and then to use the selected printer to print an Access report or a Word document filled with Access data, using different syntax as needed for working with …
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…

650 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