go in depth with citrix im and msi in-depth with citrix im and msi for citri… · document name:...

94
Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004 Author: Alexander Ervik Johnsen Version: 2.6 Website: www.ervik.as Release Date: 29.11.2004 E-mail: [email protected] Page: 1 of 94 Go in-depth with Citrix Installation Manager and application packaging for for Citrix Presentation Server 3.0 & Microsoft Installer Technology (MSI). By Alexander Ervik Johnsen Unleash a new reality at www.ervik.as Visit the the forum at www.ervik.as/xoops Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Upload: others

Post on 08-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 1 of 94

Go in-depth with Citrix Installation Manager

and application packaging for for Citrix Presentation Server 3.0

& Microsoft Installer Technology (MSI).

By Alexander Ervik Johnsen

Unleash a new reality at www.ervik.as Visit the the forum at www.ervik.as/xoops

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 2 of 94

Copyright and Trademark Notice The content in this document is protected by copyright laws. Use of the product documented in this guide is subject to your prior acceptance, when downloading the guide, and the author is in no way responsible for any damage done to your’e system. Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted. Other than printing one copy for personal use, no part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of Alexander Ervik Johnsen and www.ervik.as. Copyright © 2004 Alexander Ervik Johnsen. All rights reserved. Citrix, ICA (Independent Computing Architecture), Program Neighborhood, Installation Manager,Citrix Packager,MetaFrame,Presentation Server, WebInterface and NFuse are registered trademarks and Citrix Solutions Network, Independent Management Architecture (IMA),MetaFrame XP and Presentation Server are trademarks of Citrix Systems, Inc. in the U.S.A. and other countries. Copyright © 2004. RSA Encryption © 1996-1997 RSA Security Inc., All Rights Reserved. Installshield Copyright 2004. Wise Copyright 2004. Altiris Copyright 2004. VMware Copyright 2004. Copyright© 2004 WinZip Computing, Inc. WinZip is a registered trademark of WinZip Computing, Inc. Microsoft, MS, MS-DOS, Windows, ActiveX, Windows Media, Active Directory, Windows NT, Windows 2000 Server and Windows 2003 Server is registered trademarks or trademarks of Microsoft Corporation in the U.S.A and other countries. All other trademarks are the property of their respective owners. Last Updated: Tuesday, November 30, 2004

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 3 of 94

Table of Contents

Chapter Page

1. Introduction ..............................................................................................................6

2. About the author ......................................................................................................6

3. Document versions ..................................................................................................7

4. DISCLAIMER - WARNING ..................................................................................7

5. Vendor links .............................................................................................................8

6. The hard facts..........................................................................................................10 6.1 Citrix Installation Manager (IM) features and Issues. .............................10

7. Citrix Packager version 2.3 and newer ...............................................................13 7.1 Short Introduction to Citrix Packager........................................................13 7.2 The Difference between a Project and a Package .....................................14 7.3 The Package ...................................................................................................15 7.4 The Installation Script .................................................................................16 7.5 Citrix Packager Program..............................................................................17 7.6 Before Packaging an Application ...............................................................18 7.7 Packaging an Application and using Projects ..........................................19 7.8 How IM works with Application Publishing ...........................................24 7.9 File components ............................................................................................25 7.10 ADF processing order ..................................................................................29

8. HOW TO TEST PACKAGED APPLICATIONS ..............................................32 8.1 The 5 main rules that Citrix applies ...........................................................32 8.2 Testing applications made with Wise and Installshield .........................34

9. MICROSOFT INSTALLER (MSI) ......................................................................35 9.1 Transform file MST.......................................................................................36 9.2 Windows Installer Features.........................................................................38 9.3 Using Windows Installer (MSI) packages .................................................39 9.4 Forceing uninstall of MetaFrame Presentation Server 3.0 ......................39 9.5 Known Issues with Windows Installer Version 2.0 .................................39 9.6 MSI 3.0 ............................................................................................................40 9.7 Supported MSI 3.0 platforms ......................................................................40 9.8 MSI 3.0 vs. Installshield AdminStudio 6 ...................................................41

10. Packaging Applications for Windows Installer ...............................................41 10.1 Configuring Windows Installer Packages.................................................42 10.2 Supporting 32-Bit and 64-Bit Applications in Windows XP and 2003

server environment.......................................................................................43

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 4 of 94

10.3 Links for documents from Microsoft on Windows Installer ..................43

11. New Technologies in Windows XP Professional and Windows 2003 Server...................................................................................................................................45

12. Program menu + icons...........................................................................................47

13. Best PRACTICES....................................................................................................48 13.1 Application location .....................................................................................48 13.2 Fileserver file overview................................................................................49 13.3 Issues regarding network unavailability...................................................49 13.4 Profiles in Windows 2000/ 2003 Server.....................................................50 13.5 Customizing Office XP and 2003 for Citrix Presentation Server ...........50

14. Known issues + Hints and tips............................................................................52 14.1 Uninstall issues .............................................................................................52 14.2 Citrix Packager vs. Installshield packaged software! ..............................53 14.3 Using VMWare for packaging applications in Citrix Packager .............55 14.4 Using WISE to Package applications which Citrix Packager cannot

record..............................................................................................................55 14.5 Start Menu issues ..........................................................................................55 14.6 General issues regarding the recording option ........................................57 14.7 Failed to convert to short path error message ..........................................57 14.8 Uninstalling/Reinstalling Installation Manager Causes IMA Service to

hang ................................................................................................................58 14.9 Different publishing the explorer.exe method’s.......................................58 14.10 Installing Adobe Acrobat Reader for Citrix Presentation Server...........60 14.11 Deploying Windows 2000 Service Pack 2 , SP3 and SP4.........................61 14.12 Deploying Microsoft Visio 2002 sp1 ..........................................................64 14.13 Deploying Microsoft Project 2000 / 2002 ..................................................64 14.14 Deploying Microsoft FrontPage XP/2003 .................................................64 14.15 Deploying IIS with Citrix Installation Manager 2.x/3.x .........................65 14.16 Deploying Internet Explorer 5.5 .................................................................65 14.17 Deploying Internet Explorer 6.0 .................................................................67 14.18 Deploying Oracle 8i server ..........................................................................67 14.19 Deploying Registry settings and Files .......................................................68 14.20 Deploying Lotus Notes ................................................................................69 14.21 IBM iServer v5 edition 2 ..............................................................................71 14.22 Rumba ............................................................................................................72 14.23 How to remove the Outlook Express 6 icon in Windows 2003 server..72

15. Static symbols in IM..............................................................................................73

16. Services ....................................................................................................................75 16.1 StartService ....................................................................................................75 16.2 StopService.....................................................................................................75 16.3 RemoveService ..............................................................................................76

17. Depth packaging features.....................................................................................76

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 5 of 94

17.1 ShellExecute...................................................................................................76 17.2 SetAcl..............................................................................................................78 17.3 Require ...........................................................................................................79 17.4 QueryService .................................................................................................80

18. Tuning applications...............................................................................................81 18.1 Tuning Adobe Acrobat Reader 5.x and 6.x ...............................................81 18.2 Tuning Internet Explorer in Citrix environments ....................................85 18.3 Disable Search Assistant ..............................................................................85 18.4 Tuning of Search Options in Windows 2003 ............................................87 18.5 User Profile Hive Cleanup Service .............................................................91

19. Remapping of Drives & Sysprep 2.0 ..................................................................91

20. End notes from the author ....................................................................................94

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 6 of 94

1.INTRODUCTION

This document is a Guideline for Application Packaging and Distribution. ”Best Practices” are implemented by following this document and other documents which Citrix or others have published. A question many probably will ask themselves is; why should we use Citrix Packager…? Well, to answer you’re question, without sounding like a sales person; it’s simple: Installation Manager and Citrix Packager is design for the Citrix Presentation Server platform, and it provides increased control of the installation packages. Individual files or groups of files can be packaged for distribution, unlike any other software on the marked; it is especially design for Citrix by Citrix. You can easy rollback any application, group of files, registry values or service packs that you have installed without reinstalling the whole Citrix server(s). In other words, the Packager’s Rollback feature restores the packaging environment quickly, readying for new installation packages. Off course you can’t do everything with the Citrix Packager, but it is by far the “best” and cheapest (included in the Enterprise version) tool for packaging applications in a Citrix environment. This guide is rapidly being adjusted and updated, look for the latest version available. For the latest version of this document go to www.ervik.as/xoops or www.dabcc.com for download.

2.ABOUT THE AUTHOR

I’m a technology consultant and author of this guide, based in Oslo, Norway. My carrier has lasted for over 7 years now, since I started out working in the industry back in 1997. It all started out in a big multinational Geophysical company based in Norway. After that I started in a Norwegian Consultant firm. My work has spanned from both big and small implementations. I have worked on a lot of large scale systems both with Citrix and Microsoft products. I have had my main focus on application packaging and distribution on Terminal Server environments.

I hold the following Certifications:

Citrix Certified Enterprise Administrator Citrix Certified Administrator MCP Microsoft Windows 2000 Pro MCP Microsoft Windows 2000 Server Accredited Platform Specialist HP (APS)

I am currently working in a consultant based firm called Computerland Norway AS.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 7 of 94

3.DOCUMENT VERSIONS

Ver. Date Info / Adjustments Author Initials 1.0 08.11.2002 Released first version. Alexander Ervik Johnsen AEJ

2.0 13.10.2003 Version upgraded to include Windows 2003 server findings and other useful information

Alexander Ervik Johnsen AEJ

2.1 28.05.2004 Version updated to include various new Citrix features and Microsoft features.++

Alexander Ervik Johnsen AEJ

2.2 12.10.2004 Updated with tuning tips Alexander Ervik Johnsen AEJ

2.3 21.10.2004 Added some application tuning tips, added new features to MPS 3.0. Added Packager technical findings and “stuff”

Alexander Ervik Johnsen AEJ

2.4 04.11.2004 Added some published application information about the explorer.exe ++

Alexander Ervik Johnsen AEJ

2.5 15.11.2004 Added MSI 3.0 section. Alexander Ervik Johnsen AEJ

2.6 24.11.2004 Added install tips for Lotus Notes Client r5+r6 Fixed the Indextabel! + Outlook Express remove of icon in 2003 server.

Alexander Ervik Johnsen AEJ

4.DISCLAIMER - WARNING The author of this guide is IN NO WAY responsible for any damage to you’re system or software. Use this guide as a source to start packaging applications and programs, and find tips, tricks, best practices and other helpful material. Some of the content is gathered from different documents from different vendors, but mostly the document is written down by the author him self. Registry editing and all other tuning of the system can cause problems for you, use with care.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 8 of 94

5.VENDOR LINKS

Citrix Packager 2.3, Application Compability list http://knowledgebase.citrix.com/kb/entry.jspa?entryID=2453&categoryID=195 Packager 3.0 , Application Compability list http://knowledgebase.citrix.com/kb/entry.jspa?entryID=5085&categoryID=305 Packager 3.0, Administrators Guide. http://knowledgebase.citrix.com/kb/entry.jspa?entryID=4262&categoryID=305

Citrix Forums and resource sites http://www.dabcc.com http://www.brianmadden.com http://www.cug.no http://www.thethin.net http://www.citrix4ge.de http://www.ervik.as/xoops MSI problems: Invalid command line arguments ...when Installating MSI packages http://knowledgebase.citrix.com/kb/entry!default.jspa?categoryID=304&entryID=4507&fromSearchPage=true )

General Citrix Presentation Server Documents http://www.citrix.com/products/metaframexp.asp#P52_3147 http://hqextsrvsft01.citrix.com/kb/category.jspa?categoryID=274 )

Microsoft Windows Installer version 2.xx http://www.microsoft.com/windows2000/docs/wininstaller.doc Windows Installer version 3.0. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/windows_installer_start_page.asp

Overview of Windows Installer http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/overview_of_windows_installer.asp

Windows Installer bootstrapping http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/windows_installer_bootstrapping.asp

Windows Installer features http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/windows_installer_features.asp Installshield www.installshiled.com http://support.installshield.com/kb/view.asp?pcode=CLASS630PEE&articleid=Q105472 WISE http://www.wise.com/index.asp?bhcp=1

Altiris www.altiris.com

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 9 of 94

Please report dead links to [email protected]

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 10 of 94

6.THE HARD FACTS

6.1 Citrix Installation Manager (IM) features and Issues. • The Citrix Packager (Packager) in Installation Manager creates Application

Deployment File (ADF) files for legacy application installations. Microsoft Windows Installer setup packages (.msi) are ready for installation on target Servers using Installation Manager. Do not install files with an .msi extension for the purpose of recording the installation using Packager. This will not produce a usable ADF package. Windows Installer performs most of it’s system updates (such as copying files) through a service, and Packager records only the installation process. If you have trouble installing a file with a .msi extension and the file is not listed in this guide, try installing it on a single server with the msiexec /i command. If the .msi file fails to install using Windows Installer directly, contact the provider of the .msi file.

• Citrix Management Console must access packages from a share point. For example you can copy windows Installer packages(MSI) to a fileshare/share point by typing the following at a Command prompt: Msiexec /a <package name> This command string uncompresses the CAB file and allows you to set package properties, such as the product ID, company name or other preferred options. After you enter the command, you are prompted for the share point. To allow target servers to access the share point where the package is located, set up a network account that is a domain account and has administrator privileges. Use the console to set up an Installation Manager Network account for the server farm or for a package group.

• Installation Manager does not support NetWare share points for package deployment. These share points appear to be available because you can browse to a NetWare share point using Citrix Management Console.

• Installation Manager supports patch installations (.msp files new in Presentation Server 3.0). You can add them as packages using the Citrix Management Console. The application the .msp file will patch must exist on the target server. Uninstalling a patch from a target server does not return the application to an unpatched state. If you need to return the application to an unpatched state, uninstall the application, and then install the application again.

• I have tested a good portion of Visual Basic (VB), Java, and 16-bit applications installed with Installation Manager. They appeared to run after some basic tests. Perform more

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 11 of 94

thorough testing after installing these types of applications using Installation Manager before introducing them into the production environment.

• Some program installations must be recorded manually. Citrix recommends stopping all unnecessary background processes, such as the IMA service,Internet Information Server and similar when performing this type of recording.

• Some Windows Installer packages contain applications that open dialog boxes for user response during installation or uninstallation. If a box of this type appears, you must click OK, Yes, or No manually on each target server to close the box before Installation Manager can continue. You can check if the package for a specific application supports an unattended installation. If so and the installation can be run without parameters, or you can pass parameters when starting the installation, use an unattended installation to prevent dialog boxes from opening on the target servers.

• If a recording fails with an Object Linking and Embedding (OLE) exception message, roll back the failed session, restart your server, and try to record the installation again.

• Roll back an application on the Packager server to return the Packager to its original state. Do not uninstall an application to return the Packager server to its original state. If you do so, some parts of the installation may not be removed from the server, and you might end up getting problems with dll’s and other shared files and so on.

• When installing a new application, always ensure that the application which you are installing is not downgrading any shared files or resource files. Such as DLL’s, OCX files and similar.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 12 of 94

• If are having problems with uninstall or reinstall of a package because a prior

installation was incomplete, you can force the reinstallation of the package. Use the Presentation Server Console to select Force Reinstall in the properties for the package. You can then do a full installation of the package. If you force the reinstallation of a package, a package from a prior installation cannot be used to uninstall the application from the target server. If you force the reinstallation of a package, the console of the target server lists two entries for that package. Be careful if you wish to delete the installation log for the failed installation, sometimes this can cause problems later on.

• Citrix says the following about if you have created a package using a version of MetaFrame Presentation Server earlier than MetaFrame Presentation Server 3.0; - you may need to record the package again on a computer running MetaFrame Presentation Server 3.0, before it can be used with the latest version of Installation Manager. I have tested several packages packaged on Citrix Presentation Server XPe FR1-FR3, and they all work just as good on the “new” Presentation Server 3.0. I even tried some packages on the Tech Preview of MetaFrame Presentation Server 4.0. Keep in mind that if you are implementing a large solution of MPS 3.0, you maybe want to consider the statement from Citrix.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 13 of 94

7.CITRIX PACKAGER VERSION 2.3 AND NEWER

7.1Short Introduction to Citrix Packager The Citrix Packager monitors applications’ setup routines and installations. The Packager then packages individual files or groups of files, for distribution. The Packager creates 2 objects when it packages an application, a package and an installation script.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 14 of 94

7.2The Difference between a Project and a Package

It is important to know the difference between a Project and a Package. Both are important “bits” in the Citrix Installation Manager environment.

Project Consists of an .AEP (the ADF project file extension), and the .AEL (the ADF Recorder file extension). These files contain the information about the project (the specific application). They are flexible workspaces through which Package information can be added and edited. A project workspace can be saved to disk, but the project itself is not deployed to target MetaFrame Presentation servers. The project is the recording of the installation phase, if the package which you generate from the project is damaged in any way, you can always open the project, and generate a new package. This only works if you have not done any manual changes to the package (wfs file) script. Then you need to do the same modifications to the new package which you want to make. (Make sure you take a backup of the old one .)

When you create an ADF package, the Packager prompts you to create a project to which you assign a project name that is suitable for the application you want to package. I strongly recommend you to use something like this when naming a project: application name_version_date A project is a container that stores all the information that the Packager needs to build the ADF package (the deployment package). The project also includes the following files and information:

• Project log file. This is a flat text file (identified with a _log.txt extension) that contains errors, warnings, and information about the project. As you create an ADF package, you can view this information in the Output window. Click History Log to display the Project log file.

• Project file. This is a binary file (identified with a .aep extension) that contains information describing the project, the version, the product ID, the product name and description, the operating system, and so on.

• Record log file. This is an intermediate file (identified with an .ael extension) that is created by the Packager during installation recording. It is used to hold information about the changes made to the target server by the installed application, including file system and registry changes. The Packager uses this file to generate the final ADF file. I strongly recommend you to not modify this file!

• Rollback information. The project stores information that enables you to restore the file system and registry to its previous state, prior to recording an installation using the Packager. This is a great function, and use it. But, if you feel that the packager machine should be 100% clean, if you use Vmware, take a revert to the snapshot( if you took one, after installing the base OS and Citrix Packager), or if you are using a image like ghost or similar, take a complete rollback of the OS.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 15 of 94

Package Consists of an xxxx.WFS (the ADF package file extension.), and the xxxx.ADF (Application Deployment File). The ADF file is a text file with a list of components (similar to an INI file), created by the Packager as it records an application’s installation sequence. WFS remain the file extension for the ADF packages. The wfs files are the ones that Citrix Installation Manager Plug-in uses to deploy the application to the MetaFrame Presentation Server’s.

7.3 The Package

This is a file that holds all the files needed to install and run an application in the Citrix Environment. The Packager assembles an application’s program files, registry settings++ and any files copied to directories in the operating system directory (like %systemroot%\system32) in a Package’s directory. The application, when packaged and tested, should be copied down to a share point/fileshare on a file server (or another place which is guaranteed backup and availability to the system), so that all Citrix servers in the farm can reach this location and rollback from backup is available when needed. Citrix servers use the package as the source for an application installation during application deployment.

When the Packager records the changes made when software is installed, it creates an Application Deployment File (ADF). This is a script file in flat txt readable format that contains information about the environment, resources, services and files required to install and run the software on a Citrix Presentation Server. The ADF file includes registry key, environment variable, and file system changes. The file has a .wfs extension and its name reflects the name of the project you specify (for example, Winzip9_0.wfs).

Hot Tip. You can edit ADF files using ADF parameters, which allows you to customize/modify and troubleshoot the installation of applications/hotfixes/servicepacks/files etc... For more information about customizing ADF files and about ADF creation, format, and syntax, check out the following sites:

Citrix Knowledge Base Ervik.as Forum Citrix User Group Norway

or look further down in this document for more information about it!

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 16 of 94

7.4 The Installation Script

The environment on the Packager system MUST be “clean”. A system that is prepared to package a specific application or set of actions is called a clean system. The Clean environment consists of the base install of Windows 2000/2003 Server, with Citrix Packager installed. Therefore it is extremely important that the appropriate Image is used. The environment consists of the base install of the appropriate operating system and the tunings that can be different from customer to another customer. Please note that the best practice packaging environment that Citrix has defined is a system that consists only of windows 2000/2003 server and the Citrix Packager software. Not also that there is nothing wrong with packaging applications on a server which has the Citrix Presentation Server installation, installed.

The configuration of the “new” clean system, must match the minimum configuration of a representative set of systems that the package targets for deployment. A clean system for packaging one application may be different from a clean system for another.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 17 of 94

7.5Citrix Packager Program

The Packager examines how the target application of a setup program configures the environment. The files that are generated by the The Citrix Packager are:

• Application Deployment Files (ADF, AEL and AEP )

• WFS – Files

The Packager can generate only configuration actions for changes the setup program makes.

Basic screen for a project.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 18 of 94

7.6Before Packaging an Application

It is important that you do not use servers which are in production, which means that there are users using the server you are to package on. Package the applications with Citrix Packager on a server which has the sole purpose as a “Packager Server”. It is important that no packages of any applications are distributed to the File/Print server Share Point until the application Packaged is 100% tested, verified and checked for errors.

Inside the Citrix Packager Program, there are some adjustments that need to be done, before any Packaging can take place. Do the following: Start-> Programs -> Citrix -> Citrix Installation Manager -> Citrix Packager Once inside the Citrix Packager program, go to the following Menu: Tools -> Build Options

Change this location to: D:\AppShareDev\Citrix\Packager\Packages [OK] or other…. This is the location for the application packages that are under development, when the package is 100% and ready for deployment, copy the package and the project to the file-server. Before Building the package (F7), check the Build Options from the Tools menu. Make sure the destination is as you prefer.

\\FILESERVERNAME\AppShare\Citrix\Packager\Packages\

(When copying the package to the file server)

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 19 of 94

7.7Packaging an Application and using Projects

Tip: Before you begin, check the Application Compability Guide from Citrix on this link. http://support.citrix.com/servlet/KbServlet/download/5085-102-11756/App_Compatibility_Guide.pdf

7.7.1There are 4 “ways” of Packaging an Application. File -> Project Wizard -> let’s you select 3 types of Packaging.

• Package an Installation Recording Package an Unattended Program (Service Pack, etc. .) Package Files

Projects The preferred method of Packing an application is to do it manually, because it let’s you set more options in what the Citrix Packager shall monitor, during the installation sequence. Do the following: File -> New Project

New project from the File Menu.

To start a recording go to -> Project -> Recording This starts the application installation process.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 20 of 94

(Use the Packager to create projects for deployment. A project can encompass a variety of components, including: Applications Upgrades Service Packs Hot Fixes MSI files – use orca to make an mst file rather than repackaging the msi file. You are then asked to name the new project; the name should include the application name and version nr. The location for the Projects are: D:\AppShareDev\Citrix\Packager\Projects\(Application name) On the File Server the Projects are located: \\FileServerName\AppShare\Citrix\Packager\Projects\

• Some installation procedures start one or more application executables at

the end of a successful installation. In Packager, if the recording never terminates, but you can click either Done or Stop Recording when the installation dialog boxes close and all of the processes exit. If any installation-related application processes keep running for more than a few minutes after the installation procedure exits, they can continue to run indefinitely. The processes are no longer necessary. You can end them manually.

• In some 16-bit applications, if you use Packager to record an installation

such as, the Stop Recording button doesn’t change to done after the installation is completed. Consequently, the process runs indefinitely.

• Packaging some 16-bit applications, such as WinZip 16 or Netscape 2, may not record the menu shortcuts. The application installs successfully, but no entries are added to the Start menu.

• There are some applications /programs that require a restart of the server,

so programs that start automatically can launch in a controlled environment. Because a Packager recording terminates prior to the first restart, Packager does not record user interaction after the restart. When packaging an application that needs restart, DO NOT RESTART. If you restart this will result in an unfinished application package and project.

• If the application you are packaging restarts and continues to install, the

Packager recording fails. Citrix recommends either of these solutions: • When Packager is creating a recording and the application

approaches the restart phase, choose to not restart the server or press ALT+TAB at the Recording dialog box (before the recording finishes), then click Done. Save the project, then click OK to request the restart.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 21 of 94

• You should check the application for an installation in unattended

mode without restarting. Follow the instructions you received with the application for installing the application using this option. Check also for output files that generate installation “script” for the specific application or program, for example Installshield has a built in feature which is described in the Installshield Section of this document.

To start an Application recording process, Click on Start.

After an application has been chosen and you have clicked on the Start button, Citrix Packager starts the application recording session.

Some applications will not display the DONE button after you have successfully installed an application. You can then open Task Manager, to be sure that all setup sessions for the specific application has ended/terminated. If so, click on the Stop Recording button to end the recording session.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 22 of 94

Click on DONE.

This is what you will get after clicking on DONE or Stop Recording. The packager then analyzes the setup for the application that you just installed.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 23 of 94

Now you can go through the project, before you choose to build the package. Check entries for for example targetdir values and file locations. You can wash the package to some extent, but the best way to control things is to know the Citrix Packager script language so that you can make manual changes.

7.7.2Rollback an Application

After completing the package, you need to use the Rollback function to clean the packaged system for the installation that was done by the application packaging. This is an important thing to do, because of files+registry settings may not be completely removed with the standard ADD/REMOVE function in Windows. Do the following to Rollback: Tools -> Rollback (inside the Citrix Packager Program) Select the Package to Rollback and choose the [Rollback] button. It’s important that you do not use the [Delete] button, unless you want to delete the whole project and package.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 24 of 94

7.8 How IM works with Application Publishing Publish Application is the central point of Installation Manager’s application administration. Publish Application lets you create connection objects, called Published applications, that point to specific applications on servers. When an ICA Client user connects to a published application, the software initiates an ICA session containing the application specified by the administrator during application publishing. To the ICA Client user, a published application appears to be running locally. The user doesn’t need to know the name or address of the Citrix server executing the application. In Installation Manager, the Citrix Management Console administrator can use Applications in the console tree to publish an application packaged by Installation Manager or another source as long as the package is either in MSI or ADF format. When a request to publish an application is initiated, the user can select the application and schedule to have the package installed on the selected Presentation Server/MetaFrame server in the same session. Important If you use Packager to package the same application on Windows NT Server 4.0 and Windows 2000/2003 Server platforms and you specify different paths or customize the application for each platform; two entries appear in the list. You can not distinguish which application was packaged for the platform. Make sure you use the same path for each platform.

7.8.1Packages that Contain the Same Applications Installation Manager uses preferred packages. Various packages on the network can and often do contain the same applications.MSI packages usually contain a suite of applications, such as Microsoft Office 2000/XP/2003. The differences may exist only in a compatibility script or transform that has been added to the package when the package was created to customize the application. With this customizing, the Citrix Management Console administrator may want to install a specific application that contains Microsoft Word and Microsoft Excel versus another package that just contains Microsoft Word. By setting up a preferred package in Installation Manager, the user can be assured that when they select an application, it will be the one they want. An option in Application Publishing lets the user install and publish a package using Installation Manager.

7.8.2 Application Publishing and Load Manager When ICA Client users attempt to connect to a load balanced published application, Load Manager directs the requests to the least busy server configured to run the published application. See the Presentation Server / MetaFrame XP Application Server for Windows Administrator’s Guide for more information about the ICA Client software. Source: www.citrix.com

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 25 of 94

7.9 File components

This topic describes each of the 6 sections in the Packager.ini file. Each description includes the purpose of the section and a list of the keys and values included by default.

[REPLACED_FILTERS]

Do not edit the keys and values in this section.

[SHARED_FILES]

The [SHARED_FILES] section indicates files or directories that should include shared file usage count logic for use during unpublishing of the application. During installation, the Installer service indicates usage count information in registry entries for each file you specify. During unpublishing, the Installer service checks the usage count for the file. If the usage count is 1 (meaning no application other than the current application uses the file), the file can be deleted.

For example, if you create an entry that references the system directory, any file placed in that directory during application installation causes the Installer service to generate shared file usage count logic. During unpublishing, the Installer service makes sure no other applications use the files before deleting them.

This section contains the following keys and values:

1=*\program files\common files*

2=%WINDIR%*

[SYSTEM_FILES]

The [SYSTEM_FILES] section indicates files that are used by the operating system of your servers.

Note: Do not delete these files during unpublishing. These files do not require filtering by Packager. Never overwrite them on the server.

Each item listed in this section must include one or more of the following arguments:

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 26 of 94

· /nd: The no delete argument indicates that no references to the specified file should appear in the [Remove] section of installation scripts.

· /nf: The no filtering argument indicates that the specified file should never be filtered.

· /now: The no overwrite argument indicates that the specified file should have the Never flag associated with its CopyFile command. Setting this flag prevents the Installer service from overwriting the specified file if it already exists on the server. By default, this flag is set to Newer, which causes the Installer service to overwrite a file that exists on the server if the file in the package is newer.

This section contains the following keys and values:

1=*\win.ini/nd/nf/now

2=*\system32*/nd/nf

[POLICIES]

This section lets you either enter default information for certain commands referenced in the installation script or enable or disable certain features of Packager. The [POLICIES] section contains the following keys and values:

UNINSTALL=F

DELETEFILES=0

DEBUG=-2.0

WFSFORMAT=VER2.3

REMOVE_SECTION=T

SETUPREQUIRESADMIN=1

ADFRegInfo=Software\ADF\%ADFAPPID%

FileNumThreshhold=250

LOCAL_DIR=%MAXFREEDISK%:\

SHOWCMD=%srvShowCmd%

WORKINGDIRECTORY=%srvWorkDir%

NETPATH=%srvNetPath%

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 27 of 94

CanRunOffline=1

SetCLocale=1

A description of each key follows:

UNINSTALL: Do not edit this key.

DELETEFILES: Do not edit this key.

DEBUG: Do not edit this key.

WFSFORMAT: Do not edit this key.

REMOVE_SECTION: The value of this key determines whether Packager creates a [Remove] section in installation scripts. The Installer service follows the commands in the [Remove] section when you unpublish (uninstall) an application from your target servers. This key can have a value of "T" or "F." If the value is "T," Packager generates a [Remove] section in the ADF file.

SETUPREQUIRESADMIN: Do not edit this key.

ADFRegInfo: The ADFRegInfo key is a path that points to a key in the registry. During packaging, Packager may need to create logic in the installation script to inform the Installer service about where to store certain files on the target servers. The Installer service saves this information in the registry using the path referenced by the ADFRegInfo value. If a value is not present, Packager uses the default "Software\ADF\%ADFAPPID%."

FileNumThreshhold: Do not edit this key.

LOCAL_DIR: Do not edit this key.

SHOWCMD: Do not edit this key.

WORKINGDIRECTORY: Do not edit this key.

NETPATH: Do not edit this key.

CanRunOffline: Do not edit this key.

SetCLocale: Do not edit this key.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 28 of 94

[FILE_FILTERS]

The [FILE_FILTERS] section lists all of the files or registry keys that you want Packager to ignore when you are packaging applications for distribution to target servers. For example, temporary files are those used by an application’s installation program but are not used by the application when installation completes. The key "3=*?.tmp" filters all references to temporary files from installation scripts so that the software does not copy these files to your servers. This section contains the following keys and values:

1=*install.log

2=*netscape.reg

3=*?.tmp

4=*uninst*

5=*\temp\*

6=*\~?*

7=*.~*

8=*\mscreate.dir

9=*\system.ini

10=*currentcontrolset\enum*

11=*controlset???\enum*

12=*?filerenameoperations*

13=*currentcontrolset\services*

14=software\microsoft\windows nt\currentversion\terminal server\install\*

15=environment*

16=system\currentcontrolset\control\session manager\environment*

17=*autoexec.*

18=sam\sam\domains\*

19=*\lls\llsuser.lls

20=software\citrix\mslicensing\*

21=security\policy\secrets\*

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 29 of 94

7.10 ADF processing order

The Installer service processes the ADF in a specific order to correctly install the application. The order provides the most flexibility for conditional processing at run time. When you set up an application, the processing order is:

1. Add the Installer service predefined symbols to the symbol table.

2. Add all parameters in the [ServerSymbols] section to the symbol table.

3. Read and save all parameters in the [Control] section for use throughout processing.

4. Process the DefineSymbols parameters in the [Main] section.

5. Read the Creator and Description parameters.

6. Read and save the Product and Version parameters in the [Main] section for later use.

7. Process the [Setup] section.

8. If the application requires a reboot to complete the installation, process the PendingReboot section.

9. Process the [UserSetup] section.

A similar order is used when you remove the application except that the [Remove] section is processed rather than the [Setup] and [UserSetup] sections.

The order of parameter processing in the [Setup], [UserSetup], [Repair], and [Remove] sections is:

1. DefineSymbols

2. DestFileInUseAction and FileErrorAction

3. ConfigActions

The parameters in each [ConfigAction] section are processed in this order:

1. PreExpr

2. PreSet

3. ConfigActions

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 30 of 94

4. QueryService

5. StopService

6. RemoveService

7. DeleteShortcut

8. DeleteFile

9. DeleteTree

10. DeleteEmptyDir

11. CreateDir

12. CopyFile

13. CopyTree

14. CommitStagedFiles

15. RenameFile

16. ProcessTemplateFile

17. ReadFile

18. WriteFile

19. MSIAdvertise

20. ShellExecute

21. SetAcl

22. Rebootlf

23. Exitlf

24. Message

25. Prompt

26. ReadIni

27. DeleteIni

28. AddIni

29. FindReg

30. ReadReg

31. DeleteReg

32. DeleteEmptyRegKey

33. CreateRegKey

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 31 of 94

34. AddReg

35. ReadEnv

36. AddEnv

37. AddFont

38. CreateShortcut

39. InstallService

40. StartService

41. FindFile

42. PostExpr

43. PostSet

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 32 of 94

8.HOW TO TEST PACKAGED APPLICATIONS We all know how important testing is to the Citrix environment. But not everybody follows the testing procedures that Citrix has applied as a “guidelines”. I would like to present some key elements in how to test applications which has been packaged. Remember the importance of having a clean system, or a system that you know do not contain any traces of other applications, if the application you are installing is to run alone on a server. Please also remember that applications need to co-exist in an environment, and this is the most common issue of errors.

8.1 The 5 main rules that Citrix applies 1. Packaging the application using Citrix Packager. 2. Rolling back the application using Citrix Packager. 3. Deploying the packaged application via IM on a Citrix Presentation Server. 4. Launching the application through a Citrix ICA session. 5. Uninstalling the application from the Presentation Server using installation Manager plug-in in the Citrix Management Console.

When this is said, you need to make a testing routine for how you will test the applications. I will present some “learned” methods to do so. 1. In terms of Microsoft applications, or applications which either use Office resource

files, or share files with the Office version you have installed, it is important that the application DO NOT DOWNGRADE the existing version of Office. A specific application which does this is for example an X-Window emulator called Reflection. The scenario is this:

• If you have distributed Office XP from the Citrix Installation Manager Plug-in in CMC, and you push Reflection version 9 to the same server, you will down grade some of the Office XP files to Office 2000, which will result in problems with the office components. Therefore it is important to watch the Office catalogue for changes, for example you can check the following path for changes. C:\(or whatever drive office is installed to) Program Files\Microsoft Office\Office10 if it suddenly installs things to a new catalogue called Office under Microsoft Office and re-registers files in the registry you are bound to get problems.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 33 of 94

2. When testing applications it is important to install all the software that is going to co-exist in the Citrix Presentation Server environment. By doing so, you will eliminate problems related to shared files, or problems with rights of any kind. The most common errors occur when you have different versions of software or applications, which is not compatible with each other. There fore you need to “flush” out all the applications which are not business critical applications. Regarding this I would like to introduce 2 types of Citrix Presentation Server servers.

• DETS -> standard applications, which work 100% with each other. • BATS -> unstable applications or resource needing applications.

It is important to test applications in the right environment. If you’re application is to be a DETS application, and you know from testing that it co-exists with other standard applications without any problems you are ready to launch it into the production environment, but again, NOT WITHOUT knowing 100% that it co-exists with other software. Typical DETS applications are:

• Microsoft Office 2000 / XP / 2003(sp1, sp2 or newest…) • Microsoft FrontPage XP / 2003 • Microsoft Visio 2000/ 2002 / 2003 • Microsoft Project 2000 / 20002 / 2003 • Microsoft Office Proofing Tools for 2000 or XP or 2003 • Clue 5.xx • Adobe Acrobat Reader 6.xx • WinZip 9.xx • Winace 2.xx • Internet Explorer versions 4, 5, 6 or newer…. • Adobe Acrobat 6.xx • SAP • Muvex • BAAN • Navision • Green Plains software • Oracle Client 9.xx or newest( works.. some builds have problems)

Typical BATS applications are: • Adobe Photoshop • Quarck Express • AutoCAD lt and full versions • Different kind of drawing and animation software • Adobe Go-Live • Adobe Publisher • Adobe Illustrator • Macromedia Flash Mx or older…. • Other none “standard” applications for Citrix type environment.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 34 of 94

• UNIX emulator software, Hummingbird Exceed, Reflection for Win. • AS/400 Emulator software, Rumba etc… • WinLink

8.2Testing applications made with Wise and Installshield

Add them to the CMC and choose no the the add Transform scripts to the MSI package. Roll out the application to a preferred server, or test server. A hint is to check the version of the MSIEXEC/Windows Installer; sometimes you can experience problems because of an older version of Windows Installer. To get the latest version (for windows 2000 or NT 4.0) check out this link: http://www.microsoft.com/downloads/release.asp?releaseid=32832&NewList=1

Or use Windows Update.

Check that the application has been installed to the server without any error messages. If you experience any problems, check the Windows Installer version, or log on to the server which you installed the application to, and check the screen for any pop-up messages from the MSIEXEC.exe “service”, some times you will get a message that looks like this:

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 35 of 94

9.MICROSOFT INSTALLER (MSI)

Citrix Installation Manager (plug in to the Citrix Management Console) can install MSI and MSP files across the servers in an enterprise. These Microsoft Installer Package files contain all the information necessary for administrators to install applications.

The MSI file is a single package containing all elements of an application installation, including the files installed and any accompanying registry information, dependency data and installation instructions. An MSI file and MSP file can accommodate different installations, including those:

• On different platforms

• With different sets of existing applications

• Over previous product versions

• To different default installation locations, share points

MSI files can be packaged in the three following formats to accommodate different distribution and user needs:

• A single MSI file and compressed copies of all files needed for the installation. A single compressed file can contain many files. Cabinet file packaging has 2 key features:

Multiple files can be stored in a single cabinet (CAB) file.

Data compression is performed across file boundaries, significantly improving the compression ratio.

• An MSI and separate, compressed CAB files copies of all the files required for the installation.

• An MSI file and separate uncompressed copy of all other files required for the application installation.

o A Transform file makes the necessary adjustments to the MSI file for packaging. .MST

The rule is to whenever possible use MSI+MST files to distribute an application. First you make a administrative installation point. This is done by for expample. making an installation share point for Microsoft Office XP under \\FILESERVERNAME\AppShare\MSI\Office\ This is done by using the appropriate Setup.exe file and with the option /a Setup.exe /a.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 36 of 94

It will then extract the files necessary for an installation of Office XP, and the nice thing is that you can enter the Serial number when extracting Office XP to the sharedpoint on the server, so that you won’t need to put this in later on.

9.1 Transform file MST

The MST file is a supplement to the MSI file. To make a MST file you will need the resource kit for the application you are distributing, and the program to use is in the case with Office products, is the Custom Installation Wizard (CIW). One thing to take notice of is that Microsoft has different CIW’s for the Microsoft Office 2000/ XP and 2003 suites, and for the Microsoft Project 2000/2002. When implementing an Office 2000 application (including Project 2000) a special Transform file is needed. This file is called Termsrvr.mst, and is specifict to the versions depending on the application suite to be installed. Office 2000 has its own, and so do Ms Project 2000. Microsoft Office XP/2003 has this script integrated, so therefore you do not need to think of it, except to make the MST file with the specific adjustments for your’e need, with the CIW. The CIW let’s you build a fully customized Office XP/2003 version, which is then easily deployed to the Terminal Server/Citrix environment.

To make a MST file for other applications you need tools like:

• ORCA from Microsoft ( free of charge, downloadable form www.microsoft.com )

• Installshield AdminStudio 5,6 or greater

• Wise Package Studio/Wise for Windows Installer

Choosing between these are not easy, ORCA is free, but does not have a good GUI (I think) and maybe hard for some that have no experience with these kind of tools. Both Wise and Installshield cost big money, and is therefore a budget cost question. These 2 have good GUI’s and make MST file and MSI file authoring easier than with the Microsoft ORCA tool. Also check out this link for more information regarding Transform Files. http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/customization.asp

9.1.1Adding a MSI file or an Package to the Installation Manager

MSI files are added to the Installation Manager Plug-in in the Citrix Management Console. Simply right click and add package. Add name+Browse to the folder where the .WFS or .MSI file resides. When adding a MSI file, you are asked to add a Transform (MST) file to the package, and you can also add additional command line options.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 37 of 94

9.1.2Removing a MSI file or an Package from the Installation Manager

Simply right click and remove.

9.1.3 Installing / Uninstalling Applications to/from servers

To install an application which is added to the Installation Manager, simply right click, and choose Install Package, and then choose server or a group of servers. Schedule the install if wanted.

The uninstall is done in the Installation Manager on the same basis as installing an application. Choose Uninstall Package.

9.1.4 MSP file support

New to the Installation Manager that came with MetaFrame XP FR3 and MetaFrame Presentation Server 3.0, is the support for MSP files. MSP files are Windows Installer (MSI) files that contain for example Service Packs or Hotfixes. The Installation Manager now support these files Native and this was a downside to the older version, because when vendors started to ship MSP files as updates/fixes etc. you needed to manually install them with the msiexec command in the command-shell of Windows. Now you add them as you would add any other MSI file to the Installation Manager Plugin in the Presentation Server Console.

9.1.5How the MSI packages are build up

Under you can se an overview of an msi package.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 38 of 94

9.2Windows Installer Features

A Windows Installer feature provides a convenient means for users to select a group of components to install. When a user chooses the Custom installation option in a Setup program, each program element that the user selects to install corresponds to a feature. A feature can also contain other features, which allows Windows Installer to organize applications hierarchically. For example, a Microsoft Word feature in Office might contain a sub feature such as Proofing Tools. When a user chooses to install Proofing Tools, all components associated with that feature are installed as well.

The Windows Installer service performs all management at the component level, eliminating the need for a feature to have exclusive ownership of its components. Two features in the same or different applications can share a given component without affecting Windows Installer management scheme. Thus, it is not necessary for a feature to be globally unique; so features do not have GUIDs.

Where older installation technologies typically give users a binary choice between "installed" and "not installed" for a given feature, Windows Installer enables features to be set to one of four states: • Installed on Local Hard Disk. The files are copied to the hard disk of the local

computer.

• Installed to Run from Source. The application accesses the files from the source, typically, a CD or a network share.

• Advertised. The files are left on the source, but can be automatically copied to the client computer the first time the user selects the feature.

• Not Installed. No files are copied.

Advertising a product merely installs desktop and Start menu shortcuts, file name extension associations, or OLE registration entry points to that product. When a user invokes the application from one of the entry points, the operating system contacts Windows Installer service to install the advertised product. After the installation is completed, the Windows Installer service returns the path for the newly installed application back to the operating system, which then launches the application. For more information about advertising, see "Installing Features on an As-Needed Basis" later in this paper.

Advertisements are a central piece of the assign-and-publish capabilities of the Windows .NET Server Group Policy-based software deployment technology. For more information about assigning and publishing software by using the Group Policy-based software deployment component, see "Deploying and Managing Software Using Group Policy" in this paper.

Source: http://www.microsoft.com/windows2000/techinfo/administration/management/wininstaller.asp

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 39 of 94

9.3 Using Windows Installer (MSI) packages

You can use the msiexec with different commands to install a application manually. Here is some of the most commonly used command line arguments for executing a MSI file.

Option Syntax

Install or configure a MSI product Msiexec /i {package|ProductCode}

Uninstall a MSI product Msiexec /x {package|ProductCode}

Install a transform (MST) with the MSI product Msiexec /i package.msi TRANSFORMS=Transformfile.MST If you want to apply more than 1 Transform file, separate each transform fil with a semicolon.

Different user interface levels (for install/uninstall mode)

Msiexec xxx.msi /q{n|b|r|f|+}

Enabel logging of the installation (for install/uninstall mode)

Msiexec /L LogFile (there are about 10 different switches to use for this, check the links section in this document to find the MSI guide from Microsoft)

Note that you can use the msiexec.exe command to install MetaFrame Presentation Server 3.0 and also MetaFrame Presentation Server 4.0(currently in Tech Preview). Locate the file named MPS.MSI on your’e MetaFrame Presentation Server CD, and use the parameters that you find best. Or just use the Add/Remove Programs Option built in to the Windows Operating System.

9.4Forceing uninstall of MetaFrame Presentation Server 3.0

If you need to make a forced uninstall of MPS 3.0 you can do it by using the following msiexec command.

Msiexec /x mps.msi /L*v c:\output.log CTX_MF_FORCE_SUBSYSTEM_UNINSTALL=YES

9.5Known Issues with Windows Installer Version 2.0

I came over this website when checking for something totally different. If you have trouble with the Windows Installer 2.0, this site is a must see! It also features different versions of Installshield!

http://www.installsite.org/pages/en/bugs_msi.htm

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 40 of 94

9.6MSI 3.0

Included in the SP2 for Windows XP is the MSI 3.0. So, how does this affect you? Well, since the release, I have not seen any big issues around it. I was involved in the beta test program from Microsoft, on the MSI 3.0, and ever since the first beta version, problems were revealed and fixed( I guess ).

A little thing to take notice of is that if you use ORCA to edit MSI files, and you have installed the MSI 3.0 version, you need the new ORCA 3.0 tool to get all the features that MSI 3.0 include to work.

The following is added to the ORCA 3.0

Added support for changing the code page of the MSI, adding custom tables, canceling validation, respecting the security flags of patches, and editing the metadata inside patch file (NOT the actual contents of the patch file) as well as many other things. The 3.0 version of Orca will be released at approximately the same time as MSI 3.0.

To get more information about the Windows Installer check out this link: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/about_windows_installer.asp

For a detailed overview over the switches and commands to use within the Windows Installer check out this link: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/standard_actions_reference.asp

9.7Supported MSI 3.0 platforms It can be installed on the following versions of Windows:

• Windows 2000 SP3 • Windows 2000 SP4 • Windows XP (without SP) • Windows XP SP1 • Windows Server 2003

Windows XP SP2 already includes MSI 3.0. Windows Server 2003 SP1 will include MSI 3.1. The build number of the redistributable version is 3.0.3790.2538, which is slightly higher than the version that comes with XP SP2 (3.0.3790.2180). The file name is WindowsInstaller-KB884016-x86.exe, following Microsoft's new naming convention to include a reference to a KB article. Information about this release and the issues that are addressed in MSI 3.0 can be found in knowledge base article 884016 Download the Windows Installer 3.0 Redistributable The download page has a language selection box, but the exe file appears to be identical for all languages

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 41 of 94

9.8 MSI 3.0 vs. Installshield AdminStudio 6

I resently found out that Installshield AdminStudio 6, does not support MSI 3.0.

Installshield told me the following when contacting them:

Because MSI 3.0 was not available at the time AdminStudio 6.0 was released, AdminStudio 6.0 does not currently support MSI 3.0. There are plans to fully support MSI 3.0 in the next major version of InstallShield AdminStudio.

10.PACKAGING APPLICATIONS FOR WINDOWS INSTALLER

Preparing a Windows Installer package file for distributed installation is called packaging the software (more and more vendors are creating their own MSI files that are shipped with the software). Each product has its own Windows Installer package file. In addition to storing information about managing the state of a program, packages file stores information about the relationships between features, components, and resources for a product. At installation time, Windows Installer opens the package file for a designated product and uses the information in it to determine the installation operations to perform for that product.

Depending on the application to be deployed, packaging software can be as simple as performing an administrative installation to prepare the application for later installation by clients from a network location. Packaging can also be as complex as reauthoring the entire application, or even repackaging the application, which involves capturing the required modifications when installing an application and replacing the application's native installation program with a customized setup.

You have a choice of approaches to obtain or create packages for Windows Installer. • Using the application's native Windows Installer package. A native Windows

Installer package contains a single product (for example, Microsoft Office 2000), which is made up of many features (for example, Word, Excel, or PowerPoint, and so on) that you can configure to install individually. These features contain components, such as the thesaurus or the spelling and grammar checker. When the user selects an uninstalled feature or component, the feature or component is automatically installed. This saves bandwidth during the initial installation, it gives users only the features and components that they need to do their jobs, and it can save space on users' local disk drives. These are just a few of the many advantages to using the native Windows Installer packaging format. Many authors of software develop applications to include modular native Windows Installer packages to take full advantage of Windows Installer capabilities.

• Reauthoring applications. If you have software applications that are not designed for Windows Installer, you can re-author the setup to a Windows Installer package.

• Repackaging applications. If you have an application that is not designed for

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 42 of 94

Windows Installer, as a last resort, you can repackage it into the .msi format so that you can use the features of Windows Installer to distribute the application. A repackaged application combines the entire feature set of the application into a single feature. Windows Installer can install the repackaged application; however, you lose the flexibility to efficiently customize the application.

Important: Prior to reauthoring or repackaging any applications in your

organization, it is important to compare the benefits of each strategy with the costs involved. Reauthoring and repackaging are both advanced operations. There are tools for each operation that can help developers create the final Windows Installer package, but the procedures are still resource-intensive and can be costly.

For help to determine if you need to re-author or repackage an application, see "Preparing Non-Windows Installer-Based Applications for Installation" later in this paper.

Of course, if you have several applications that do not contain native Windows Installer packages, and you know that your organization has little or no use for these applications in the future, you can create Software Installation Settings (.zap) files. A .zap file is a text file containing instructions on how to install an application (setup.exe).

When you create .zap files, you do not benefit from the capabilities of Windows Installer. You can wrap 32-bit or 64-bit setup.exe, or install.exe files, into a .zap file format that the software distribution technology can use to install the software.

For information about using .zap files with the Group Policy-based software deployment technology of Windows .NET Server, see “Deploying and Managing Software Using Group Policy" in this paper.

10.1Configuring Windows Installer Packages

The modular design of a Windows Installer package enables you to configure the installation of the individual application features to occur on demand, when the user selects them. For example, you can configure spell checker in Microsoft Word to install when the user accesses it for the first time.

Windows Installer packages enable self-repairing applications. For example, if a user accidentally deletes Winword.exe, the next time a user attempts to open Word, Windows Installer recognizes that the keypath file (discussed earlier in this paper) is missing and reinstalls it automatically.

Managing software releases is becoming easier because more software manufacturers are packaging new software with Windows Installer to promote consistent and reliable customization of applications.

For more information about Windows Installer authoring tools, see "Windows Installer Administration Tools" later in this paper.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 43 of 94

For more information about authoring applications, see the Windows Installer Software Developer's Kit (SDK) on the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.

For information about customizing a native Windows Installer application, see "Customizing Windows Installer Applications," later in this paper.

10.2Supporting 32-Bit and 64-Bit Applications in Windows XP and 2003 server environment

In Windows XP Professional and Windows 2003 Server, Windows Installer 2.0/3.0 continues to support and protect the investment you have made in 32-bit applications. At the same time, Windows XP Professional introduces support for 64-bit application installation specific to the Intel IA64 platform. Because the 64-bit technology is new, few 64-bit applications are available. However, business requirements for the 64-bit platform are growing rapidly.

A Windows XP Professional/2003 server Windows Installer package must be specified as either a 32-bit or a 64-bit package. On a computer using a 64-bit operating system, the Windows Installer service is hosted in a 64-bit process that installs both 32-bit and 64-bit packages. Windows Installer version 2.0/3.0 installs three types of Windows Installer packages on a computer running a 64-bit operating system: • 32-bit packages containing only 32-bit components.

• 64-bit packages containing some 32-bit components.

• 64-bit packages containing only 64-bit components.

Note: You cannot advertise or install a 64-bit application on a 32-bit operating system. Then you need a processor that handles both!

You can decide to make the 32-bit package visible to a 64-bit client. You might decide not to deploy a 32-bit package on a 64-bit client if that application functions poorly or not at all on 64-bit systems. You make your configuration determinations as you test the applications and system combinations in your test lab and during your pilot phase. Important: Do not deploy a 32-bit application with the same Windows Installer Product ID as a 64-bit application. The 64-bit version of a product must have a separate Product ID.

Many new properties and attributes are valid in a 64-bit package to help the author install the application correctly. For information about these properties and attributes, see "64-bit Windows Installer Packages" in the Windows Installer SDK, which is available from the Web Resources page at http://www.microsoft.com/windows/reskits/webresources.

10.3 Links for documents from Microsoft on Windows Installer

http://www.microsoft.com/windows2000/docs/wininstaller.doc

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 44 of 94

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/about_windows_installer.asp

Windows Installer Clean up utility http://support.microsoft.com/default.aspx?scid=kb;en-us;Q238413

To see what’s new in Windows Installer 3.0 check out this link:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/what_s_new_in_windows_installer_version_3_0.asp

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 45 of 94

11.NEW TECHNOLOGIES IN WINDOWS XP PROFESSIONAL AND WINDOWS 2003 SERVER

Microsoft® Windows ®XP Professional and Windows® 2003 Server introduce new features that can increase the security of information in your organization and also the usability and manageability of Windows Installer.

11.1.1Windows XP Professional 64-Bit Edition

In the Windows XP Professional 64-bit edition, Windows Installer is implemented as a native 64-bit service. This service handles the installation of both 32- and 64-bit applications. Applications that are 64-bit are packaged in specially marked 64-bit Windows Installer packages. These packages enable installation of both 32- and 64-bit components.

The 32-bit packages installed in the Windows XP Professional 64-bit edition can run under the Windows on Windows 64-bit subsystem. However, packages that are designed for 64-bit edition cannot be installed in the 32-bit edition. Users must obtain a 32-bit version of the application to use on the 32-bit Windows edition.

11.1.2Software Restriction Policies

The increased role of the Internet in business increases security threats to your network from viruses. Using Windows 2003 Server’s software restriction policies, you can protect your computer environment from suspect code by identifying and specifying the applications that are allowed to run. The system identifies each application by using a hash rule, a certificate rule, a path rule, or an Internet zone rule.

Windows Installer packages, patches, and transforms are affected by software restriction policies. The levels for configuring to allow users to run a piece of code are either "unrestricted" or "restricted." In particular, Windows Installer only runs packages that you set at the "unrestricted" level. If any transforms or patches are involved in an installation, you must set them to run at the "unrestricted" level for the installation to succeed.

If you configure a software restriction policy to run a package at a level other than "unrestricted," Windows Installer displays an error message explaining that a policy is in place that prevents this application from being installed. Windows Installer also logs an event in the application Event Log.

The system evaluates the software restriction policy when you first install an application, when you apply a new patch, or when Windows Installer needs to re-cache the installation package for an application. You can apply software restriction policy to all Windows Installer packages for administrators and non-administrators.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 46 of 94

11.1.3System Restore

System Restore is a feature of only the Windows XP Professional, Windows® Me, and Windows® XP Home Edition operating systems. Users can use System Restore to reverse harmful changes to their computer caused by installing or uninstalling applications. This feature enables the user to return the computer to an earlier state known as the restore point. Windows Installer automatically creates a restore point each time an application is installed or removed. Restore points identify the name of the application and the stage of the installing (or uninstalling) that application. The System Restore wizard helps a user return a computer to the state just prior to installing or uninstalling the application. You can prevent Windows Installer from creating restore points by setting the Disable Creation of System Restore Checkpoints policy.

For more information about configuring and managing Windows Installer, see "Managing the Windows Installer Service Using Group Policy" in this paper.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 47 of 94

12.PROGRAM MENU + ICONS

This is an example form a customer of mine.

It is important that all the icons that starts the specific application, is located under C:\Documents and Settings\All Users\Start Menu\Programs

No icons on the desktop, only on the start menu. The icons on the start menu are controlled with GPO’s, which the specific users are members of….

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 48 of 94

13.BEST PRACTICES

13.1Application location

As mentioned before, it is important to have the default path in the Citrix packager, to point against a fileserver or another server that holds files and data, which are backed up at a regularly basis. Try to store the Project catalogue also at the same location, but in a separate folder called Projects. A tip is to make a fileshare on the D:\ drive (or whatever drive you preffere) of the fileserver, and make a folder called \Appshare\. For expample D:\AppShare\Citrix\Packager\Packages D:\Appshare\Citrix\Packager\Projects \\fileserver\Appshare\Citrix\Packager\Packages

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 49 of 94

13.2Fileserver file overview

The following structure on the fileserver is recommended as a “Best Practices” solution.

FILESERVER

The structure is divided into 4 main sections. If the network for some reason should become unavailable during an installation, you can use the Add Unattended Program option to select Copy program plus the following files locally and then the run program before recording. Instead of running the installation from the network share, this option causes the installation package to be copied to the target server and run from there. Using this option uses more space on the target servers, but preserves the network vulnerability which is not acceptable for Business Critical Applications (BCA). Therefore always use local server, for applications and programs which needs between 99-100% uptime.

13.3Issues regarding network unavailability If the network may become unavailable during an installation, you can use the Add Unattended Program option to select Copy program plus the following files locally and then the run program before recording. Instead of running the installation from the network share, this option causes the installation package to be copied to the target server and run from there. Using this option uses more space on the target servers.

AppShare

Citrix

MSI

NetProg

Packager

Packages

Projects

Service Packs

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 50 of 94

13.4Profiles in Windows 2000/ 2003 Server

I would suggest that the profile is deleted each time you test a new application. Because profiles in Windows 2000/2003 Server can have files or settings related to prior installations / or usage of software or applications, it is best to delete the profile before testing a new application, or retesting an already tested application.

13.5Customizing Office XP and 2003 for Citrix Presentation Server This applies to Windows 2000/2003 Servers only. Background

It is no longer necessary to use Termsrvr.mst when installing OfficeXP/2003 in a Windows 2000/2003 Terminal Services environment.

See the Installation Manager Application Compatibility Guide for information about how to install Office XP/2003 using Installation Manager in a Windows NT 4.0 Terminal Server environment.

1. Install Office XP/2003. Applies to both Office XP and Office 2003 Systems

A. To perform an administrative installation of Office XP to a network share point, type the following at a command prompt:

For example "CDROM-DRIVE:\Office XP\Disc 1\SETUPPLS.EXE" /a OR

B. Perform an administrative installation from a network share point. Browse to the location where the .msi file is located and type:

Msiexec /a proplus.msi

Example: \\servername\sharename\APPS\Win32Apps\Office XP\Disc 1\ then type msiexec /a proplus.msi

2. Customize Office XP by creating an .mst file with the desired configuration.

A. Download and install the Office XP Resource Kit. B. Launch the Custom Installation wizard and follow the instructions. When you install Office with this transform provided by the Office XP Resource Kit, the Office features set to "Not Available" are not installed.

Caution

The following seven steps were completed by Citrix Technical Support to create a customized .mst file. Please follow these steps with care and consult the below Microsoft Documentation for any recent changes that may affect this process.

1. Start the Custom Installation wizard. 2. On the Set Feature Installation States page, select the feature that you do not want to install.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 51 of 94

3. Set the installation state of the selected feature to Not Available, Hidden, or Locked.

4. Select the Do Not Migrate Previous Installation State check box.

NOTE: The Do Not Migrate Previous Installation States check box must be selected for each feature that is set to Not Available, Hidden, or Locked.

5. Repeat Steps 2 through 4 for each feature that you do not want to install.

6. Click Next and then set the options that you want in the remaining screens of the wizard.

7. Click Finish. Note the sample command line that is provided.

8. Click Exit.

NOTES: For instructions about how to install Office XP on a Terminal Server using a customized transform file (.mst), seethe following Microsoft articles:

TechNet article Q311241 Office XP: "How to Customize Office XP for Terminal Server"

"Deploying Office XP on Windows Terminal Services" available at http://www.microsoft.com/office/ork/xp/one/deph02.htm

3. Use Installation Manager 2.1 for MetaFrame XPe.

A. Launch the Citrix Management Console.

B. Add the .msi as a package.

C. Add the .mst to the .msi package.

D. Configure the package to be installed to the desired server(s). NOTE: See the Installation Manager 2.1 Administrator's Guide or newer for additional information about how to install .msi packages. For additional information about how to install.msi packages. Source: http://hqextsrvsft01.citrix.com/cgi-bin/webcgi.exe/,/?Session=5292664,U=1,ST=199,N=0010,K=27023,SXI=7,Case=obj(17982)

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 52 of 94

14.KNOWN ISSUES + HINTS AND TIPS

For tuning check out the tuning section!

14.1Uninstall issues

Check out the following issues about using Installation Manager to uninstall applications, before doing so!

• Roll back an application on the Packager server to return the Packager to its original state. Do not uninstall an application to return the Packager server to its original state.

• Uninstalling an application does not remove files currently in use. For example, dynamic link library (.dll) files used by the application are not removed if they are in use while the application is being uninstalled.

• When uninstalling, some files or registry keys of your application can still exist on a server. Sometimes empty folders remain on the server.

• Do not run an application after installing it on the Packager server. Doing so makes it difficult to return the Packager to its original state. If an application runs after it is installed, uninstalling the application cannot remove any files created or modified by the application. Even if only the date of a file changes, the file is not removed.

• If you record an unattended installation of an application using the Add Unattended Program option, Installation Manager cannot record information for uninstalling the application. You cannot uninstall the application using Installation Manager.

• If you do an unattended installation of an application using a Windows Installer (.msi) file, uninstalling the application using Installation Manager does not remove .dll, .ocx, or other files installed in the System32 directory as part of the application.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 53 of 94

14.2 Citrix Packager vs. Installshield packaged software!

There is a known issue around Software that is made with Installshield from Installshield. The problem lies in that the program which is executed has a process within the install process. In other words, for example setup.exe is started with the Citrix Packager. An installation process starts; you can make some choices, and then install the package. But this is not the actual case. After you have installed the application and are ready to build the package with Citrix Packager, you only get some minor entries in the project, usually registry settings and some Installshield files!

The problem is that the Citrix Packager is not able to record the process inside the install process, which actually is installing the application.

When confronting Citrix with this problem, they have given me a solution, which is as follows (NOTE THAT THIS MAY NOT WORK! AND MAY WORK! DEPENDS ON THE INSTALLSHIELD version)

You can write a file called .iss from the setup.exe file. This file is a record of what kind of options you made to the install process! Type something like:

Setup.exe –r

A link to the support pages for Installshield Professional 6.xx http://support.installshield.com/kb/view.asp?pcode=CLASS630PEE&articleid=Q105472

You can the use the setup.iss file which will be created under C:\WINNT, to try to make a –s silent install and point the setup.exe –s to use the c:\winnt\setup.iss file.

The other solution to this issue is to do as follows: In the Citrix Packager Recording session, you can Click on the advanced tab, and get more options. Here you have an option that is Default checked. Remove the option called: Only the Run Program and programs it starts.

Se next page for Pictures.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 54 of 94

This option tells Citrix packager to collect info from all processes outside the and inside the system. The problem with this is that you can get packages that have a lot of “dirty” files and registry values, which you do not need. I suggest that if you turn off this option, you need to go manually into the wfs file, and check which settings you do not need to have into the application software + remove the unwanted Registry values. I have had a dialogue with people in Citrix, and found out that this is a solution that works with the newest versions of Installshield software. This can be a problem, because if you know how many versions there are of regular software programs/applications, multiply it by 10, and you will get how many versions of Installshield that really exists! So, I have discovered this method to work with all new versions of Installshield, but Citrix say’s that it is a known problem with the older versions of Installshield.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 55 of 94

14.3 Using VMWare for packaging applications in Citrix Packager

When packaging applications and programs in complex environments, it is often useful to know the application/program and its behavior towards the system and other co-existing applications. Therefore a test phase is always a good solution. I recommend using Vmware Workstation 4.x or GSX server 3.x or newer. This is time-saving and you also get a good overview of what to do with the application when packaging in “real” production environment. You can also package applications in Vmware, but this is sometimes not the best solution, because you often need the real CORE Image to work on.

A tip is to install a Clean Terminal Server with Citrix Packager installed, for testing application packaging. If you are in a project where you have a CORE Image that is used on all the Citrix servers, you need to use this one, or at least try to us it into the Vmware environment.

A neat feature is to take a snapshot of the Vmware Image when it is 100%, before beginning to repackage applications, then you can easily take a revert to the original state, after testing to package a application.

14.4Using WISE to Package applications which Citrix Packager cannot record

Where you cannot package applications with Citrix Packager, it is “vise” to use Wise Package Studio 5.xx. As mentioned before some application install routines have been made with Installshield. Citrix Packager will not record these install/setup files, because the install file starts a shell inside the Install shell, resulting in Citrix Packager only recording the first “shell” that is started, usually only some Installshield file copying and registry changes for the Installshield engine. A good solution is to make MSI packages with WISE and distribute them with the built in MSI support of the Citrix Installation Manger Plug-in. This simplifies problems related to the Installshield setup routines. Remember that it’s necessary to have more than 1 tool for packaging software and applications with. Always have a second option. Be certain that you have the newest Windows Installer version, because Wise Package Studio 5.xx uses the latest version, I have experienced problems because of incorrect Windows Installer versions. Recommended version is 2.00.260.xxxxxx or newer!

14.5 Start Menu issues

There are several applications and programs that the Citrix Packager do not record changes to the Start Menu. Here are some notes from Citrix about the problem. Citrix says: Packaging some 16-bit applications, such as WinZip 16 or Netscape 2, may not record the menu shortcuts. The application installs successfully, but no entries are added to the Start menu.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 56 of 94

I say: This is not quite correct; there are several 32-bit applications on which the Citrix Packager does not record the start menu, which results in an incomplete installation, if you ask me. The way to go is to add the files manually, either to add a file copy entry in the Project, or to add the files manually in the script. Please not that if you choose to add the files manually you need to copy the start menu link files down to the SOURCE directory on the Fileserver or server which holds the project and package source. Then modify the .wfs file manually by editing the script. Please not that if the package fails during install via the Installation Manager plug-in in the Citrix Management Console, you need to check the file extensions. An example: CopyFile=%SOURCEDIR%\Applications\Pharlegis\Pharlegis.lnk,%TARGETDIR1%\Pharlegis.lnk,Newer,,10:2:1998:9:33:8,, The section which is blue is where the copying in 5 out of 7 times fails, because the Citrix packager script needs in some cases the exact date and time for the file (why, I have not been able to find out!)

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 57 of 94

14.6General issues regarding the recording option This item mentions some general issues regarding the recording option, Only the Run Program and programs it starts.

• This option does not record a full installation for some applications, such as Corel’s WordPerfect Office. To avoid recording problems, clear this option if your application requires a restart.

• Some older installation programs use Dynamic Data Exchange (DDE) to create application menu shortcuts. The Packager records these shortcuts if you clear the Only the Run Program and programs it starts option prior to recording the installation. Some affected applications are: QuickTime 6, Oracle 7 Personal, and Lotus SmartSuite 2000. Keep in mind that Citrix does not support QuickTime, and never will!!!!! Because, QuickTime and Apple don’t share the code for QuickTime, Citrix has stated that they can not support and guarantee that the product works 100%, and therefore the supported movie formats on Citrix Presentation Servers are mpeg,avi and other “Microsoft” standards.

• If you clear the Only the Run Program and programs it starts option, the Done button may appear prematurely after the primary application records. Make sure the recording process finishes before you click Done. Citrix recommends that you select the Only the Run Program and programs it starts option in most instances. This is actually something I stated to them about 2 years ago (and which they recently went public with), when I had problems with setup executables that were made in some versions of Installshield (mentioned later in this document!).

14.7Failed to convert to short path error message If you encounter a message reporting the error .Failed to convert to a short path, when installing an ADF package, the file path you are trying to convert cannot be located on the target server. Below are two problems related to shortcut paths and their solutions:

• Problem 1. The file was on the Packager server before the recording began, so it did not install to the target server.

Solution. Roll back the Packager server to clear out old files before you start a new recording. See the Getting Started with Citrix Installation Manager Guide or the Packager help for information about clearing out previously recorded applications.

• Problem 2. Packager filtered out the file and the file did not install to the target

server. For example, Uninstall.log files are not copied to the target server (they can corrupt the uninstall procedure in the ADF package). If the package attempts to create a shortcut to that file, the process fails.

Solution. An ADF package contains an installation file with a .wfs extension. Delete or comment out the CreateShortcut command in the .wfs file.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 58 of 94

14.8Uninstalling/Reinstalling Installation Manager Causes IMA Service to hang

Uninstalling and then reinstalling the Application Packaging and Delivery components on a MetaFrame XPe server without rebooting causes the IMA service to hang upon startup. Uninstalling and then reinstalling the Application Packaging and Delivery components on a MetaFrame XPe server without rebooting causes the IMA service to hang upon server startup. This renders MetaFrame XPe non-functional.

Explanation

Uninstalling Installation Manager marks the ImsSs.dll file for deletion. At the time of the uninstallation, this file is in use by the IMA service and, therefore, is not deleted immediately. Instead, the file is marked for deletion when the server is rebooted.

Even if Installation Manager is reinstalled before the server is rebooted, the ImsSs.dll file is still marked for deletion. When the server is rebooted, this file is deleted, leaving the IMA service incapable of starting and rendering MetaFrame XPe and Installation Manager inoperable.

Solution

Uninstall Installation Manager, reboot the server, and then install Installation Manager.

Source: http://hqextsrvsft01.citrix.com/cgi-bin/webcgi.exe/,/?Session=5292664,U=1,ST=199,N=0010,K=27023,SXI=7,Case=obj(12182)

14.9 Different publishing the explorer.exe method’s

I found this article at the www.cug.no forum. It basically describes some things you can do when publishing explorer.exe as a published application. Note that Citrix and Microsoft both advices not to publish the explorer.exe as a published application.

Check out this link from Citrix as well: http://support.citrix.com/kb/entry!default.jspa?categoryID=122&entryID=2081&fromSearchPage=true

This article describes how to add "My Documents", "My Computer" and "Recycle Bin" as shortcuts. MORE INFORMATION You want to add "My Documents" and/or "My Computer" and/or "Recycle Bin" as a shortcut to PowerMenu to provide users easy access to their (shared/deleted) documents. This is done by invoking Windows Explorer with specific startup parameters OR by invoking Microsoft Internet Explorer with specific startup parameters. If you want to use Windows Explorer for this, you must first create a copy of explorer.exe (in this document, we take pexplorer.exe as an example). More information about creating a copy of explorer.exe can be found later in this document.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 59 of 94

Step-by-Step Procedure for Windows Explorer scenario Enter the following information: Title: My Documents Command line: pexplorer.exe Parameters: /e,::{450D8FBA-AD25-11D0-98A8-0800361B1103} Enter the following information: Title: My Computer Command line: pexplorer.exe Parameters: /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D} Enter the following information: Title: Recycle Bin Command line: pexplorer.exe Parameters: /e,::{645FF040-5081-101B-9F08-00AA002F954E} Step-by-Step Procedure for Microsoft Internet Explorer scenario Enter the following information: Title: My Documents Command line: c:\program files\internet explorer\iexplore.exe Parameters: /e,::{450D8FBA-AD25-11D0-98A8-0800361B1103} Enter the following information: Title: My Computer Command line: c:\program files\internet explorer\iexplore.exe Parameters: /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D} Enter the following information: Title: Recycle Bin Command line: c:\program files\internet explorer\iexplore.exe Parameters: /e,::{645FF040-5081-101B-9F08-00AA002F954E} --- SYMPTOMS When publishing the Windows Explorer and a users starts Windows Explorer, nothing happens. After trying again, Windows Explorer starts in browse mode or nothing happens. CAUSE When Windows Explorer is started for the first time during a session, it checks whether it is the shell or not. If it is the shell, it starts in taskbar mode. The user expects Windows Explorer to start in browse mode. When started for the second time Windows Explorer sees that it is already running in taskbar mode and starts another instance in browse mode.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 60 of 94

RESOLUTION There are three solutions to work around this behavior of Windows Explorer. The first way is to change a registry setting located in HKEY_LOCAL_MACHINE. WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. I cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Change registry settings with this tool at your own risk. By changing this registry value, Windows Explorer is no longer the shell. We do not recommend this, but for documentation purposes we provide you with the information: Registry key located in HKEY_LOCAL_MACHINE: SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell Old REG_SZ value: explorer.exe New REG_SZ value: [any other valid value] The second solution is to make a copy of explorer.exe to pexplorer.exe and invoke this copy. This way, pexplorer.exe checks if it is the shell. Because it is named pexplorer.exe, it is not the shell, so pexplorer.exe starts in browse mode. Step-by-Step command prompt procedure Start a Command Prompt Change the current directory to the Windows directory Execute command: copy explorer.exe pexplorer.exe Close the Command Prompt Repeat steps 1 to 4 for each machine Add an application with title "Windows Explorer" and command line "pexplorer.exe" Test the application The third solution is to invoke iexplore.exe (Microsoft Internet Explorer) in file mode. This can be accomplished by specifying a path as startup parameter for Microsoft Internet Explorer. Microsoft Internet Explorer will then be launched in file mode exposing an interface similar to the Windows NT Explorer interface.

14.10Installing Adobe Acrobat Reader for Citrix Presentation Server Installation steps for installing Adobe Acrobat Reader 4.05/5.xx /6.xx There are no known issues with packaging and installing Adobe Acrobat using Installation Manager. The instructions below assume a basic understanding of how to use Citrix Installation Manager. For further information about using Installation Manager, see the Getting Started manual or the Installation Manager Help files. From the Packager machine:

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 61 of 94

• Create a recording of the Acrobat installation routine.

• Build the ADF file and package. Post them to a network share point

NOTE: See Tools/Build Options to configure the network share point and location of Citrix Installation Manager database.

From the Citrix Management Console: • Add the ADF package to the Installation Manager database (if not already done

during the build process).

• Schedule installation of the Adobe package to the targeted farm servers.

NOTE: Remember to roll back the recording on the Packager machine to ensure the system is clean for the next packaging operation.

Uninstalling Adobe Acrobat

Uninstalling Acrobat leaves behind a few empty folders on the server. They have to be removed manually.

Source: http://hqextsrvsft01.citrix.com/cgi-bin/webcgi.exe/,/?Session=5292664,U=1,ST=199,N=0010,K=27023,SXI=7,Case=obj(15071)

14.11Deploying Windows 2000 Service Pack 2 , SP3 and SP4

Use the following steps to package and install Windows 2000 SP2/SP3/SP3:

Follow the steps below to package and install Windows 2000 Service Pack 2/3/4:

From the Service Pack 2/3/4 CD, run W2ksp2.exe/W2ksp3.exe -x. This extracts the .cab file to a network share point. If the -x parameter is not used, Update.exe starts automatically following the extraction without prompting for a network distribution point. NOTE: Be sure that the Installation Manager network account has local administrator privileges on the MetaFrame servers where the service pack will be installed. If the account does not have local administrator rights, service pack installation may falsely appear to succeed. See the Installation Manager Getting Started Guide for additional information on this requirement.

From the network share point, locate Update.exe.

In Installation Manager Packager, create a package that runs the Update.exe program in unattended mode. There are a few key points to remember when creating the package.

Provide the full UNC name to the Update.exe program

Add the -u option for unattended mode

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 62 of 94

Citrix strongly recommend that you upgrade to SP4 if you are running Citrix MetaFrame Presentation Server XP or MPS 3.0 on a Windows 2000 server!

See the diagram below:

The Packager creates an ADF that is posted to the network share point.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 63 of 94

From the Citrix Management Console (CMC), you can schedule the ADF for installation on the targeted MetaFrame servers.

Further information regarding SP2/SP3 is available on Microsoft's Web site at http://www.microsoft.com/windows2000/downloads/servicepacks/sp2/ http://www.microsoft.com/windows2000/downloads/servicepacks/sp3/

Source: http://hqextsrvsft01.citrix.com/cgi-bin/webcgi.exe/,/?Session=5292664,U=1,ST=199,N=0010,K=27023,SXI=7,Case=obj(14621)

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 64 of 94

14.12Deploying Microsoft Visio 2002 sp1

Citrix says that there is an install issue with this software, and if you deploy the MSI+MST package in IMS, you need to add the following Command Line Option in the MST section of the added Package. OVERRIDETERMINALSERVER=1

There is an install issue when making a MST file for this application. The problem is that when you tell it to go to another drive that the C:\ drive, in the MST file creator, it still does not install to another place than C:\. I have tried different types to check for new solutions, but none of them worked. So the thing you need to tell the customer is that this is a known Microsoft problem, and contact Microsoft.

14.13Deploying Microsoft Project 2000 / 2002

Remember to use different Resource Kit versions for the Office 2000 and XP family. Citrix says that there is an install issue with this software, and if you deploy the MSI+MST package in IMS, you need to add the following Command Line Option in the MST section of the added Package. OVERRIDETERMINALSERVER=1

I say:

This proves to be both wrong and right, because the command line will not have any implication on the installation. It will not have any negative effect on the installation as well, so to be on the safe side, yes you can use this command line, but for what?

14.14Deploying Microsoft FrontPage XP/2003

Citrix says that there is an install issue with this software, and if you deploy the MSI+MST package in IMS, you need to add the following Command Line Option in the MST section of the added Package. OVERRIDETERMINALSERVER=1

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 65 of 94

14.15 Deploying IIS with Citrix Installation Manager 2.x/3.x

IIS relies heavily on a file named Metabase.bin for machine-specific settings. If Installation Manager is used to deploy IIS, all target machines will receive a Metabase.bin file that is appropriate only for the Packager machine. Therefore, Installation Manager Technology cannot be used to deploy IIS to all servers in a farm.

IMPORTANT As a best practice, Citrix recommends that you do not install a Web server on your MetaFrame servers. (Although it works…)

14.16 Deploying Internet Explorer 5.5

Perform a download-only installation from the Internet to create the complete directory of files required to package Internet Explorer 5.5. Record the installation on the machine where the Packager is installed and deploy as usual.

The standard installation routine for Internet Explorer 5.5 is to download and run Ie5setup.exe. Running Ie5setup.exe without any additional parameters causes Setup to inspect the files on the server and then connect to the Internet a second time to download the additional files that are actually used to install IE 5.5 on the server. While this works fine for a single server, it does not scale well when distributing the application package to multiple servers. Each target server would have to connect to the Internet to download the appropriate installation files. The Solution

Deploying Internet Explorer 5.5 involves three major steps:

Performing a download-only installation of IE 5.5

Recording and packaging the application using the Citrix Packager

Installing the application to Citrix servers using the CMC

Performing a Download-Only Installation of IE 5.5

Ie5setup.exe offers some additional command line parameters that allow the one-time creation of a network distribution folder of all the files required to install/package Internet Explorer. Microsoft knowledge base Article ID Q257249 contains details about this procedure, which are summarized as follows:

On the following Internet Explorer download page, click the appropriate language version to download the Ie5setup.exe file:

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 66 of 94

http://www.microsoft.com/windows/ie/download/

Click Save to Disk and then save the file in a folder on your computer. Click Start and then click Run. Click Browse, browse to the folder in which you saved the Ie5setup.exe file, click the file, and then click Open. In the Open box, click at the end of the command, and then type: /c:"ie5wzd.exe /d /s:""#E""" For example, if you saved the Ie5setup.exe file in the C:\Windows Update Setup Files folder, the command looks like: "C:\Windows Update Setup Files\ie5setup.exe" /c:"ie5wzd.exe /d /s:""#E" Press ENTER. Choose the appropriate items for the operating system.

NOTE: To download Internet Explorer to a network drive, you must map the network drive to a drive letter on your computer. You cannot download Internet Explorer to a Universal Naming Convention (UNC) path.

Recording and Packaging the Application Using the Citrix Packager

Open the Citrix Packager and create a new project.

From the Project menu, click Add Recording. Start the recording by pointing the Packager to ie5setup.exe in the folder created from the download-only install of IE 5.5. IE 5.5 Setup starts. Proceed through the installation routine until you are prompted to reboot the machine. Setup offers to reboot the system for you. DO NOT reboot yet. Bring the Recording... window to the foreground and click Done. Save the project.

Now click Finish in the Setup window to reboot the server.

After reboot, log back on and open the project. From the Project menu, select Build Project to create the ADF file and post it to a network sharepoint.

Installing the Application to Citrix Servers Using the CMC. With the ADF package created and posted to a network sharepoint, you can now install or publish the application to the targeted MetaFrame servers using the CMC. SOURCE:http://hqextsrvsft01.citrix.com/cgi-bin/webcgi.exe/,/?Session=5353905,U=1,ST=262,N=0005,K=18865,SXI=8,Case=obj(15195)

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 67 of 94

14.17 Deploying Internet Explorer 6.0

The Packager and target servers for this scenario were both Windows 2000 Service Pack 2 with Q300972, MetaFrame XPe with Feature Release 2, an Internet connection, and Internet Explorer Version 5.00.3315.1000. An Internet connection was not required for the target server.

Creating the Package

1. Download Ie6setup.exe from Microsoft. 2. Open the Citrix Packager. 3. Select Create a new project using the project wizard. 4. Keep the default, Package an installation recording. 5. Continue through the wizard. There is no compatibility script for Internet Explorer 6. Choose the build locations. Click Finish. 6. Continue through the Internet Explorer 6 Setup. On the Restart Computer dialog box, do not press Finish. Give the Installation Manager Recording window focus. 7. Even though you will see processes running, select Stop recording and answer Yes when you are asked Are you sure that you want to stop the recording now? 8. After the package finishes, close the Packager window and answer Yes when you as asked to save changes? 9. Give the Internet Explorer Restart Computer dialog box focus, click Finish, and allow the computer to reboot.

Installing the Package

1. Open the Citrix Management Console. 2. Add the package. 3. Install the package on the target server. 4. Change schedule times if desired. 5. Click force reboot after job.

NOTE: If the target servers console shows a Windows File Protection dialog box, ignore the box. The package will complete, the server will reboot, and Internet Explorer will be updated to Version 6.

14.18 Deploying Oracle 8i server

You cannot install applications that use server-specific settings, such as Oracle 8i server, using Installation Manager. Note that the Client works!

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 68 of 94

14.19 Deploying Registry settings and Files

The following procedure describes how to create a simple batch file that contains commands for the operations you want to perform on your servers. You can use Packager to add these files and publish the resulting installation script to put the system modifications into effect.

WARNING! Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. For information about how to edit the registry, view the "Changing Keys and Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete Information in the Registry" and "Edit Registry Data" Help topics in Regedt32.exe. Make sure you back up the registry before you edit it. If you are running Windows NT, also update your Emergency Repair Disk (ERD).

In addition to application installations, Packager can package system changes such as registry modifications or file replacements. This function is useful when you want to deploy a registry update to your target servers or if you want to copy a file onto servers in a server farm. In general, you can apply this function to package any operation or change that does not have an installation program. To deploy files or registry entries:

Create a batch file that contains all of the commands you want to execute. For example, to create an installation program that copies the file Notepad.exe from the %SystemRoot%\System32\ directory to a directory called %SystemDrive%\Myappdirectory, make a batch file containing the following commands:

mkdir %SystemDrive%\Myappdirectory

NOTE: You can use Windows NT Server 4.0 system variables in your paths. If you specify a hard-coded path, make sure this path exists on each server.

copy %SystemRoot%\System32\notepad.exe %SystemDrive%\Myappdirectory

To write an installation program that creates a registry key on your servers, make a .reg file and then a batch file containing the following command:

regedit /s Myregfile.reg

Where Myregfile.reg is the name of a Reg file containing the name and value of the key(s) you want to create.

Save the batch file to a directory on the Packager machine. If you are deploying a registry change, make sure the Reg file is saved in the same directory.

Start Packager.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 69 of 94

If you are creating a new project, from the File menu, click New Project.

From the Project menu, click Add Unattended Program.

In the Unattended Programs dialog box, enter the Universal Naming Convention (UNC) file name of the unattended program and any command line parameters.

Add any supporting files, such as Myregfile.reg to the package so that they will be copied to the target server.

Build the ADF package. From the Project menu, click Build Project. This step builds and saves the ADF package to the location you specify.

(Optional) From the Tools menu, click Add Package to Citrix Server to add your package to the Installation Manager database.

Install the ADF package using Citrix Management Console to make the registry and file changes. Source: http://hqextsrvsft01.citrix.com/cgi-bin/webcgi.exe/,/?Session=5353905,U=1,ST=262,N=0005,K=18865,SXI=8,Case=obj(14520)

14.20Deploying Lotus Notes As many know, there are a few tricks to implementing the Lotus Notes Client into a Citrix enviroment. I have implemented this at several customers, and it works just fine. So, to get it right follow the instructions that I have put down. I have consentrated on Lotus Notes R5 and R6, and here is a guide on how-to-install them. Lotus Notes R5 Notes R5 provides e-mail and groupware services to users. Follow these steps: 1. Log on to the server as Administrator and ensure no users are currently accessing the server. 2. In Control Panel, double-click the Add/Remove Programs icon. 3. Complete the following steps to add a program:

a. Click Add New Programs. b. Click CD or Floppy. c. Click Next. d. Run the Lotus Notes 5 install program setup.exe from the CD-ROM.

i. Click Next to continue on the first Notes installation window. ii. Click Yes to accept the Notes licensing agreement. iii. Enter the company name in the appropriate fields. Do not enter a user’s name in either field because data entered here is seen by all users. iv. Select the Shared install check box. v. Enter the destination folder as D:\APPS\Lotus\Notes. vi. Notes installation now copies files to the hard drive. vii. Click Finish when Notes is completed.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 70 of 94

e. Create a folder on the server called r5clienttemplate. Share the folder using the same name for the share and set Permissions to give read access to everyone. f. Connect the standard user’s home letter to this share. For example, enter the command:

NET USE U: \\AUTS03\R5CLIENTTEMPLATE g. Run the D:\APPS\Lotus\Notes\setup.exe Notes installation program.

i. Click Next to continue on the first Notes installation window. ii. Click Yes to accept licensing of Notes. iii. Click Next to accept the existing Company name field. iv. Change the destination folder from C:\Lotus\Notes\Data to H:\Lotus\Notes\Data and click Next, where H: is the letter of all users’ home drive. v. Click Finish when completed. Do not launch Notes now.

h. After the program is installed, click Finish on the Add/Remove Programs window.

4. Using Windows Explorer, cut and paste C:\WTSRV\NOTES.INI (equivalent to moving the file) to the directory H:\Lotus\Notes. 5. Create a common desktop icon for all users to run Notes:

a. From the Windows Explorer menu, select File -> New -> Shortcut. b. Enter D:\APPS\Lotus\Notes\Notes.exe in the Location field and click Next. c. Enter Lotus Notes in the Name field and click Finish. 6. Still in Windows Explorer, right-click the newly created Lotus Notes shortcut.

7. Select Properties and then select the Shortcut tab. 8. Set the Start in: field to H:\Lotus\Notes. 9. Copy the contents of the r5clienttemplate directory (including the Notes folder within that folder) to each user’s home directory (or H: drive). This is a standard Lotus Notes administration task. Lotus Notes R6 Notes R6 is the latest release of the Notes e-mail and groupware services product. Follow these steps: 1. Log on to the server as administrator and ensure no users are currently accessing the server. 2. Create a folder on the server called r6clienttemplate. Share the folder using the same name for the share. Set Permissions to give read access to the Everyone group and Full rights for administrators. 3. Connect to the above share with your standard user’s home drive assignment. For example, if your home drive is typically H:, enter the command: NET USE H: \\TERMSERVER \R6CLIENTTEMPLATE 4. Log on to the server as administrator and ensure that no users are currently accessing the server. 5. In Control Panel, double-click the Add/Remove Programs icon. 6. Complete the following steps:

a. Click CD or Floppy. b. Click Next. c. Run the Lotus Notes 6 install program setup.exe from the CD-ROM:

i. Click Next to continue on the first Notes installation window.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 71 of 94

ii. Click Next to continue. iii. Select I accept the terms in the license agreement and click Next. iv. Enter the company name in the User Name and Organization fields. Do not enter a user’s name in either field because data entered here is seen by all users. v. Select to install this application Only for me (Single User Install) and click Next. vi. Change the Install data files to: from C:\program files\lotus\notes\data\ to H:\notes\data. Click Next. vii. On the Feature Install window, deselect Modem Files, Client Single Logon Feature, Domino Enterprise Connection Services. Click Next. viii.Click Install. ix. Click Finish when complete.

d. After the program finishes installing, click Next. e. Click Finish.

7. Using Windows Explorer, cut and paste C:\WINDOWS\NOTES.INI (equivalent to moving the file) to the directory H:\notes\data. 8. Edit the NOTES.INI file and add the following entry below the [Notes] line: Directory=H:\notes\data 9. Create a common desktop icon for all users to run Notes:

a. From the Windows Explorer menu, select File -> New -> Shortcut. b. Enter C:\Program Files\Lotus\Notes\Notes.exe in the location field and click Next. c. Enter Lotus Notes 6 in the name field and click Finish.

10.Still in Windows Explorer, right-click the newly created Lotus Notes shortcut. 11.Set the Target: field to: "C:\Program Files\Lotus\Notes\notes.exe" = H:\notes\data\Notes.ini 12.Set the Start in: field to H:\Notes\Data. 13.Copy the contents of the r6clienttemplate directory (the Notes folder within that folder) to each user's home directory (or H: drive). You may want to automate this process using the following script: if not exist h:\notes md h:\notes if not exist h:\notes\data md h:\notes\data if not exist h:\notes\data\notes.ini xcopy /s "\\FILESERVER\r6clienttemplate\notes\data\*.*" "h:\notes\data" 14.Setup each users Notes client. This is a standard Lotus Notes administration task. Source: IBM Redbook-> redp3629.pdf

14.21 IBM iServer v5 edition 2 Client access software for AS/400 enviroments is usually no big deal to install in a Citrix environment. The only application of these types I really have had trouble with is the Rumba application(Check the next section for more info). Remember that the .ws files are the files in wich holds the information to where the Emulator software will be connecting. So, if you allready have a set of these files, try to start them, if you get problems, either upgrade( a cool feature that IBM actually have thought about) or edit the file. A common problem that I have come across is the keyboard mapping files. They have a specific path in the .ws file, on where to get the for example as400.kmp file(which is

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 72 of 94

the keyboardfile). These definistions is made either by the vendor or they are personalized.

14.22 Rumba

Rumba for Windows is a Terminal Emulator application. I found that there were some problems in version 5/6, when installing on a server that had Office XP installed it downgraded a great number of Office XP releated files, to Office 2000. It goes without saying that this happens a lot of times, with applications that use Office components, but usually you detect them in an early prosess, or it works nevertheless without any problems. A great thing about Rumba is that they now support and ship with Installshield Tuner.

Check out these links for more info on Rumba: http://supportweb.netmanage.com/ts_rumba/index.asp http://www.appdeploy.com/news/detail.asp?id=87

14.23 How to remove the Outlook Express 6 icon in Windows 2003 server In Windows 2003 the registry we all were used to implement does not work anymore. After sitting for a couple of hours I suddenly found a solution to this problem. Delete the keys mentioned here, and you will be good 2 og. Note that some of them might not appear in your’e server enviroment, this diffrenses from some server installations. Note that to be 100% sure of what you are doing, and to have a fallback plan, export the registry key’s before deleting them. To be 100% sure, also set the correct NTFS rights on the C:\Program Files\Outlook Express folder, remove all but Creator Owner,System and Administrators. This will also ensure that the users does not get access to start the outlook express application. Locate the following registry keys, right-click the registry key, and then click Delete: HKEY_CURRENT_USER\Software\Microsoft\Outlook Express HKEY_CURRENT_USER\Software\Microsoft\WAB HKEY_LOCAL_MACHINE\Software\Microsoft\Outlook Express HKEY_LOCAL_MACHINE\Software\Microsoft\WAB HKEY_LOCAL_MACHINE \Software\Microsoft\Active Setup\Installed Components\{44BBA840-CC51-11CF-AAFA-00AA00B6015C} HKEY_LOCAL_MACHINE \Software\Microsoft\Active Setup\Installed Components\{7790769C-0471-11D2-AF11-00C04FA35D02}

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 73 of 94

15.STATIC SYMBOLS IN IM

These symbols are determined when the Installer service starts.

CLIENTID* Currently the same as COMPUTERNAME.

ClientVersion* The version of the Installer service. The format is major, minor where major and minor are numeric values.

COMMONDESKTOP For Windows NT Server 4.0 and later only. This is the path to the desktop folder for all users; for example: C:\WINNT\Profiles\All Users\Desktop.

COMMONFILES The path to the common files folder; for example: C:\Program Files\Common Files.

COMMONPROGRAMS Windows NT Server 4.0 and later only. This is the path to the programs folder for all users; for example: C:\WINNT\Profiles\All Users\Start Menu\Programs.

COMMONSTARTMENU Windows NT Server 4.0 and later only. This is the path to the Start menu folder for all users; for example: C:\WINNT\Profiles\All Users\Start Menu.

COMMONSTARTUP Windows NT Server 4.0 and later only. This is the path to the startup folder for all users; for example: C:\WINNT\Profiles\All Users\Start Menu\Programs\Startup.

COMPUTERNAME* The name of the client computer (returned from GetComputerName).

CPU* The CPU; for example: Intel, Alpha.

CPUSUBTYPE* The bus type. For Intel, it is 486 and Pentium; for Alpha, it is a 4- digit number.

DESKTOPDIR The path to the current desktop folder; for example: C:\Windows\Desktop.

FONTSDIR The path to the common font files folder: %WINDIR%\fonts.

FONTSREGKEY This is a registry key:HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Fonts

ISADMIN* Windows NT Server 4.0 only. The value is True if the current user is a member of the administrators group.

LANG* A three-letter code indicating the users default language setting. It is the two-letter language abbreviation from the ISO Standard 639 with a third letter added, as appropriate, to indicate the

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 74 of 94

sublanguage. (Note: This is the value returned by the Win32 API GetLocaleInfo LOCALE_SABBREVLANGNAME call.)

MEMORY* The number of megabytes of physical memory.

OS* Used to determine the difference between versions of the same operating system (OS); for example, Windows NT Server 4.0 or Windows NT 5.0, use OSVER.Note: Windows 2000 Server is Version 5.x.x.x and Windows NT Server 4.0 is Version 4.x.x.x

OSVER* This is the version of the operating system. The format is: major-number, minor-number, Build-build-number, and patch-string.

PROGRAMFILES The path to the program files folder for Windows NT Server 4.0 only, for example: C:\Program Files.

PROGRAMSDIR The path to the current programs folder; for example: C:\Windows\Start Menu\Programs.

DESKTOPDIR The path to the current desktop folder for Windows NT Server 4.0 only. This symbol is useful in the DeleteShortcut action to remove a shortcut from all user profiles; for example: Desktop.

PROGRAMSDIR The path to the current programs folder for Windows NT Server 4.0 only. This symbol is useful in the DeleteShortcut action to remove a shortcut from all user profiles; for example: Start Menu\Programs.

STARTMENUDIR The path to the current Start menu folder; for example: C:\Windows\Start Menu.

STARTUPDIR The path to the current startup folder; for example: C:\Windows\Start Menu\Programs\StartUp.

TEMPDIR The directory for temporary files; for example: C:\Windows\Temp.

USERID* The current login account in the format domain\username where domain is a domain or the local domain (same as computername); for example: xyzdomain\sally.

USERNAME* The name of the user on the client computer (returned from GetUserName).

WINDIR The drive and directory where Windows is installed; for example, C:\windows.Note: On Windows NT Server 4.0, the path name to a special shell folder (for example, DESKTOPDIR) is defined as: WINDIR\Profiles\user_profile_name\special_folder_name whereWINDIR is the Windows install directory (that is, C:\WINNT). user_profile_name is a folder for the currently logged on user.special_folder_name is the special shell folder; for example, Desktop or Start Menu.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 75 of 94

WINDISK The drive that contains the Windows directory; for example, C:.

WINSYSDIR The drive and directory of the Windows system directory; for example, C:\windows\system.

16.SERVICES

Here you will find info about how to work the services in Windows 2000/2003 server. Sometimes you need to stop or start services after or during installation of an application. Therefore I have gathered these routines into this document.

16.1StartService This is a service-related parameter in the [Config-action] section of an ADF. StartService… = serviceName [[,<bStartDependentsl>][,<serviceArgs>]] This parameter specifies the name of a service to start. ServiceName: The name of the service to start. BStartDependents: Restarts dependent services. The default value is False. ServiceArgs: An array of "|" separated argument strings. StartService config action starts the service. If the serviceArgs is present, the service is started with these arguments. If bStartDependents is present and set to True, StartService restarts the dependent services. Stop the service using the StopService config action with bStoreDependents set to True.

16.2StopService This is a service-related parameter in the [Config-action] section of an ADF. StopService… = serviceName [,bStoreDependents] This parameter specifies the name of the service to stop. ServiceName: The name of the service to stop. BStoreDependents: Used to store dependent services. The default value is False. The StopService config action stops the service(s) that depend on it. If bStoreDependents is present and set to True, the parameter stores dependent services names.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 76 of 94

You can restart these services later using StartService config action with the bStartDependents parameter set to True.

16.3RemoveService This is a service-related parameter in the [Config-action] section of an ADF. RemoveService… = serviceName This parameter uninstalls a service on your servers. ServiceName: The name of the service to remove. Note: The RemoveService config action deletes the service. Make sure you stop the service before removing it.

17.DEPTH PACKAGING FEATURES

Here are some of the more advanced commands and features which explains the script in-depth. Do not use or alter these features in the script, if you do not know how the script works!

17.1ShellExecute

This is a parameter in the [Config-action] section of an ADF.

ShellExecute...= file, wait-flag [, operation [, default-directory [, arguments [, show] ] ] ]

This parameter executes an external application or batch file during application installation, removal, or execution.

The parameter opens or prints file.

File. Can be an executable file or a document file. This path must exist on each target server.

Wait-flag. Indicates whether to wait for the shell executed application to exit before continuing with processing the wfs file. It is a boolean value.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 77 of 94

Operation: This can be one of the following:

Open: This action opens the file, which is the default value.

Print: This action prints the file. This value is valid only when file specifies a document file.

If a data file has a different verb, the data file can also be used as operation.

Default-directory: The full path of the working folder for the application. File and default-directory cannot specify a file or directory in the application directory because it is not always available.

Arguments: The arguments are passed on the command line when file is an executable file and is ignored otherwise. The parameters must be separated by spaces. If file specifies a console application, to include double quotation marks or spaces, you must enclose the parameter in double quotation marks. Double quotation marks within the value must be triple quoted.

For example,

param1 param2 "param with spaces and " " (a double quote)"

passes the three arguments:

param1, param2, param with spaces and " " (a double quote)

Show: Specifies how the shell-executed application is shown. It is one of NORMAL | MIN | MAX. The default is NORMAL. Environment variables added through AddEnv are not available to the shell-executed application.

If wait-flag is True, the predefined symbol LASTRESULT is set to the exit code returned by the program and is run by the ShellExecute config action after the program terminates.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 78 of 94

17.2SetAcl

This is a file-related parameter of the [Config-action] section.

SetAcl… = type, object, [domain], user, permission

This parameter sets an ACL with the specified user and permissions on the specified object. If the object already exists, the current ACLs are replaced with the ACLs specified for the object from the ADF. You can specify multiple SetAcl actions for the same object with different users and they are combined. All SetAcl actions for the same object must be grouped together. The user LocalSystem is given full control in all security descriptors created with SetAcl actions

Type: Type is one of file, registry, or folder and indicates that object refers to a file, registry key, or folder.

Object: Object is the full path to the file, registry key, or folder. For registry keys, the path starts with one of the root keys such as HKEY_LOCAL_MACHINE (HKLM).

Domain: The optional domain parameter specifies the domain that the user is in. If domain is empty, the current machine is used.

User: User is the name of the user or group in the specified domain.

Permission: Permission is a flag value.

Some common values are:

0x40000000 – GENERIC_WRITE

0x20000000 – GENERIC_EXECUTE

0x10000000 – GENERIC_ALL

Note: You cannot specify 0x80000000 (GENERIC_READ) for permission. Attempting to do so fails. Instead, you must specify a value such as KEY_READ (0x00020019) or FILE_GENERIC_READ.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 79 of 94

17.3Require

This is a [Main] section parameter of an ADF.

Require… = expression, message

Each Require parameter describes a condition that must be met for the Installer service to list, allow to run, or install this application.

Expression. The expression is a symbol expression as described in the [Symbol Substitution] section. The expression is evaluated before listing, allowing it to run, or configuring an application. If the expression is True, the requirement is met and the application is listed, installed, or pushed. If the expression is False, the application is not listed, installed, or pushed.

The Installer service does not process this parameter. The expression can use any of the predefined symbols sent to the Installer service. The expression must be able to handle undefined symbols. If there are multiple Require parameters, each Require expression must evaluate to True for the Installer service to allow the application to be listed, installed, or pushed by the requesting server.

Message. The message field is shown as part of an error message returned from the Installer service when the user tries to start the application.

For example,

[Main]

...

Require=%!Split(OSVER,v)% %OS%="WinNT" & %v1% = 4, NT 4.0 required

Require=%CPU% = "Alpha", Alpha CPU required

Require=%!Split(ClientVersion,cv)% %cv1% > 2 | ( %cv1% = 2 & %cv2% >= 2), Citrix

Require=%MEMORY% >= 32, At least 32 Meg of memory required.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 80 of 94

17.4QueryService

This is a service-related parameter in the [Config-action] section of an ADF.

QueryService… = serviceName , statusSymbol

The Installer service uses this parameter to determine the current status of a service, create a symbol, and set that symbol equal to the status returned by the query.

ServiceName: The name of the service.

StatusSymbol: A symbol that receives the service status set to one of the following values.

Symbol Value Set

SERVICE_STOPPED 1

SERVICE_START_PENDING 2

SERVICE_STOP_PENDING 3

SERVICE_RUNNING 4

SERVICE_CONTINUE_PENDING 5

SERVICE_PAUSE_PENDING 6

SERVICE_PAUSED 7

SERVICE_UNINSTALLED 8

The QueryService config action queries service status and returns it in the statusSymbol.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 81 of 94

18.TUNING APPLICATIONS

Tuning of applications in a Citrix environment is alphaOmega. For those of you who have been working with Citrix for some time, know that many applications take up to much memory or uses more cpu or more page/disk time than others. Well, for some applications you can actually tune some parts of them to fix issues like that. Here I will take the most common applications, and show you how to tune them, and take away different types of problems.

18.1Tuning Adobe Acrobat Reader 5.x and 6.x

There are a few issues to take into consideration when installing Adobe Acrobat Reader 5.0/6.0 on a Citrix server. Don’t get me wrong, it’s not dangerous, but there are some features inside the Reader that you better turn off. The location of these tunings are a bit different from the 5.x version to the 6.x when it comes to the registry.

There are features such as Update, Splash Screen …. I have added 2 example tuning adm files that you can use with the Active Directory.

18.1.1.1 Adobe Acrobat Reader 5.x.adm

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; www.ervik.as policy settings.

; By Alexander Ervik Johnsen 2004.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;

CLASS USER ;;;;;;;

;;;;;;;;;;;;;;;;;;

CATEGORY !!ervik.as

CATEGORY !!Software

Category !!Adobe

POLICY !!AdobeAcrobatReaterSplash

EXPLAIN !!AdobeAcrobatReaterSplash_Help

KEYNAME "Software\Adobe\Acrobat Reader\5.0\AdobeViewer"

ACTIONLISTON

VALUENAME "DISPLAYABOUTDIALOG"

VALUE NUMERIC "0"

VALUENAME "EULA"

VALUE NUMERIC "1"

END ACTIONLISTON

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 82 of 94

END POLICY

POLICY !!AdobeAcrobatFull

EXPLAIN !!AdobeAcrobatFull_Help

KEYNAME "Software\Adobe\Acrobat Reader\5.0\Registration"

ACTIONLISTON

VALUENAME "NOTENOW"

VALUE "0"

VALUENAME "NOTELAT"

VALUE "0"

VALUENAME "NOTENEV"

VALUE "1"

END ACTIONLISTON

END POLICY

POLICY !!Disable startup splash screen

EXPLAIN !!Set this value to not show the splash screen when Adobe Acrobat

KEYNAME "Software\Adobe\Acrobat Reader\5.0\Originals"

VALUENAME "bDisplayAboutDialog"

VALUEON NUMERIC 0

VALUEOFF NUMERIC 1

END ACTIONLISTON

END POLICY

END CATEGORY

END CATEGORY

END CATEGORY

[strings]

ervik.as="www.ervik.as"

Software="Software"

Adobe="Adobe"

AdobeAcrobatReaterSplash="Tuning of Adobe Acrobat Reader"

AdobeAcrobatReaterSplash_Help="This policy Removes the splash screen and removes licences acknowledging"

AdobeAcrobatFull="Tuning of Adobe Acrobat 5.0 Full version"

AdobeAcrobatFull_Help="This policy removes the license registration window for Acrobat 5.0 Full version"

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 83 of 94

18.1.1.2 Adobeacrobat6.adm

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; www.ervik.as policy settings.

; By Alexander Ervik Johnsen.

; Type: CLASS USER

; Application: Adobe Acrobat Reader 6.0

; Date: 22.10.2004

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;

CLASS USER ;;;;;;;

;;;;;;;;;;;;;;;;;;

CATEGORY "Additional Policy Components by www.ervik.as"

CATEGORY "Application Settings"

CATEGORY "Adobe Acrobat Reader 6.0"

POLICY "AdobeAcrobatFull"

EXPLAIN "This policy removes the license registration window for Acrobat 6.0 Full version"

KEYNAME "Software\Adobe\Acrobat Reader\6.0\Registration"

ACTIONLISTON

VALUENAME "NOTENOW" VALUE "0"

VALUENAME "NOTELAT" VALUE "0"

VALUENAME "NOTENEV" VALUE "1"

END ACTIONLISTON

END POLICY

POLICY "Adobe_Disable_update_notification"

EXPLAIN "Tuning of Adobe Acrobat Reader 6.0 Update function. Set this value to not show the update notification during Adobe."

KEYNAME "Software\Adobe\Acrobat Reader\6.0\Updater"

VALUENAME "bShowNotifDialog"

VALUEON NUMERIC 0

VALUEOFF NUMERIC 1

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 84 of 94

END POLICY

POLICY "Adobe_Disable_startup_splash_screen"

EXPLAIN "Set this value to not show the splash screen when Adobe Acrobat. This policy Removes the splash screen and removes licences acknowledging"

KEYNAME "Software\Adobe\Acrobat Reader\6.0\Originals"

VALUENAME "bDisplayAboutDialog"

VALUEON NUMERIC 0

VALUEOFF NUMERIC 1

END POLICY

POLICY "Adobe_Set_automatic_update_interval"

EXPLAIN "Tuning of Adobe Acrobat 6.0 Auto Update. If you enable this policy, Acrobat Reader will no longer automatically check for updates."

KEYNAME "Software\Adobe\Acrobat Reader\6.0\Updater"

PART "UpdateFrequency" DROPDOWNLIST REQUIRED

VALUENAME "iUpdateFrequency"

ITEMLIST

NAME "Never" VALUE NUMERIC 0 DEFAULT

NAME "Every Month" VALUE NUMERIC 1

END ITEMLIST

END PART

END POLICY

END CATEGORY

END CATEGORY

END CATEGORY

[strings]

AdobeAcrobatFull="Tuning of Adobe Acrobat 6.0 Full version"

AdobeAcrobatFull_Help="This policy removes the license registration window for Acrobat 6.0 Full version"

Adobe_Disable_update_notification="Tuning of Adobe Acrobat Reader 6.0 Update function"

Adobe_Disable_update_notification_Help="Set this value to not show the update notification during Adobe"

Adobe_Disable_startup_splash_screen="Set this value to not show the splash screen when Adobe Acrobat"

Adobe_Disable_startup_splash_screen_Help="This policy Removes the splash screen and removes licences acknowledging"

Adobe_Set_automatic_update_interval="Tuning of Adobe Acrobat 6.0 Auto Update"

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 85 of 94

Adobe_Set_automatic_update_interval_Help="If you enable this policy, Acrobat Reader will no longer automatically check for updates"

18.2 Tuning Internet Explorer in Citrix environments

Different tuning methods for the Internet Explorer is a must have for Citrix environments. I have gathered different methods of how to tune and lock down different parts of the Internet Explorer for the regular users on the Citrix servers. Note that some tunings requires that you change different registry values, and may harm you’re system if not used correctly.

18.2.1.1 Maximizing Performance with Internet Explorer Applies to Citrix MetaFrame 1.8 for Microsoft NT 4.0 Server Terminal Server Edition Setting up Personalized Settings in Internet Explorer 4.0 may cause CPU congestion. Completely remove the following registry key (which runs the Personalized Settings setup and other Internet Explorer 4.0 settings at logon) for dramatic performance increase: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run BrowserWebCheck: REG_SZ: loadwc.exe

18.3Disable Search Assistant

Windows XP Default Windows 2000-like

If you dislike the Windows XP/2003 Search Assistant as much as I do, you'll love this tip! Take control back, and restore Windows 2000-like search functionality, it also works for Windows 2003 Server:

1. Start the Registry Editor

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 86 of 94

2. Go to HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \

CurrentVersion \ Explorer \ CabinetState \

3. Right-click an empty space in the right pane and select New > String Value

4. Name the new value Use Search Asst

5. Double-click this new value, and enter no as it's Value data

6. Close the registry editor

You can do the same for Internet Explorer search:

Windows XP Default

Windows 2000-like

1. Start the Registry Editor

2. Go to HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ Main \

3. Right-click an empty space in the right pane and select New > String Value

4. Name the new value Use Search Asst

5. Double-click this new value, and enter no as it's Value data

6. Close the registry editor

To change back (?) to the Windows XP default, just delete the key you created, or change the Value Data from no to yes.

To see the change, be sure to close any open Windows Explorer / Internet Explorer windows.

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 87 of 94

18.4Tuning of Search Options in Windows 2003

To give limited access to the search function in a Windows 2003 Server environment, I have made a fix to incorporate stronger search security. Using the Microsoft policy settings available only turns search - on or off. With this fix the search option is stripped down to only allow users to search for files and folders. To do this I had to hack 4 xml files and fix the registry. Copy the xml files under into %systemroot%\srchasst\mui\0409

lcladvdf.xml.rename lclsrch.xml.rename lclother.xml.rename lclcomp.xml.rename

FindExtensions.reg

Here is the source to the findextensions.reg: Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\OutlookFind]

@=""

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\ShellFindInDirectory]

@="{F020E586-5264-11d1-A532-0000F8757D7E}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\OutlookFind]

@="{0006F019-0000-0000-C000-000000000046}"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\OutlookFind\0]

@="Bruke Microsoft &Outlook..."

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\OutlookFind\0\DefaultIcon]

@="M:\\PROGRA~1\\MICROS~1\\OFFICE11\\OLKFSTUB.DLL,0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch]

@="{169A0691-8DF9-11d1-A1C4-00C04FD75D13}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\0]

@="For &Files or Folders..."

"LocalizedString"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\

6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\

00,5c,00,53,00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\

2c,00,2d,00,32,00,33,00,32,00,33,00,32,00,00,00

"RunInProcess"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\0\DefaultIcon]

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 88 of 94

@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\

00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,00,48,00,\

45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,33,\

00,34,00,00,00

"HotIcon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,\

00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,\

35,00,30,00,00,00

"GrayIcon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,\

00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,\

35,00,31,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\0\HelpText]

@="Search for files or folders"

"LocalizedString"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\

6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\

00,5c,00,53,00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\

2c,00,2d,00,32,00,33,00,32,00,39,00,36,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\0\SearchGUID]

@="{169A0691-8DF9-11d1-A1C4-00C04FD75D13}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\0\SearchGUID\UrlNavNew]

@=hex(2):3a,00,3a,00,7b,00,65,00,31,00,37,00,64,00,34,00,66,00,63,00,30,00,2d,\

00,35,00,35,00,36,00,34,00,2d,00,31,00,31,00,64,00,31,00,2d,00,38,00,33,00,\

66,00,32,00,2d,00,30,00,30,00,61,00,30,00,63,00,39,00,30,00,64,00,63,00,38,\

00,34,00,39,00,7d,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\1]

@="For &Computers"

"LocalizedString"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\

6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\

00,5c,00,53,00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\

2c,00,2d,00,32,00,33,00,32,00,33,00,33,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\1\DefaultIcon]

@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\

00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,00,48,00,\

45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,33,\

00,35,00,00,00

"HotIcon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,\

00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,\

35,00,32,00,00,00

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 89 of 94

"GrayIcon"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,\

00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,\

35,00,33,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\1\HelpText]

@="Search for computers on the network"

"LocalizedString"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\

6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\

00,5c,00,53,00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\

2c,00,2d,00,32,00,33,00,32,00,39,00,37,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\1\SearchGUID]

@="{996E1EB1-B524-11d1-9120-00A0C98BA67D}"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\1\SearchGUID\UrlNavNew]

@=hex(2):3a,00,3a,00,7b,00,31,00,66,00,34,00,64,00,65,00,33,00,37,00,30,00,2d,\

00,64,00,36,00,32,00,37,00,2d,00,31,00,31,00,64,00,31,00,2d,00,62,00,61,00,\

34,00,66,00,2d,00,30,00,30,00,61,00,30,00,63,00,39,00,31,00,65,00,65,00,64,\

00,62,00,61,00,7d,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\2]

@="For &Printer"

"LocalizedString"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\

6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\

00,5c,00,53,00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\

2c,00,2d,00,32,00,33,00,32,00,33,00,34,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\2\DefaultIcon]

@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\

00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,53,00,48,00,\

45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,33,\

00,35,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\2\HelpText]

@="Search for a printer"

"LocalizedString"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\

6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\

00,5c,00,53,00,48,00,45,00,4c,00,4c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\

2c,00,2d,00,32,00,33,00,32,00,39,00,38,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\ShellSearch\2\SearchGUID]

@="{D515F311-B78B-11d1-9123-00A0C98BA67D}"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\WabFind]

@="{32714800-2E5F-11d0-8B85-00AA0044F941}"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\WabFind\0]

@="For &People..."

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 90 of 94

"LocalizedString"="@M:\\Program Files\\Common Files\\System\\wab32res.dll,-1646"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\WabFind\0\DefaultIcon]

@="M:\\Program Files\\Outlook Express\\wabfind.dll, 0"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\WebSearch]

@="{07798131-AF23-11d1-9111-00A0C98BA67D}"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\WebSearch\0]

@="On the &Internet..."

"LocalizedString"="@browselc.dll,-13060"

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\WebSearch\0\DefaultIcon]

@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\

00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,\

64,00,6f,00,63,00,76,00,77,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,31,00,31,\

00,31,00,00,00

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FindExtensions\Static\WebSearch\0\HelpText]

@="Search the web"

"LocalizedString"="@browselc.dll,-13061"

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 91 of 94

18.5User Profile Hive Cleanup Service This is a service which is a MUST HAVE! and installs on the Terminal Servers. The service fixes the problem with slow user log off’s because of the profile not unloading. After some testing, I found out that it really works, and that the user log off’s now is quicker than without the UPHClean Service. Microsoft on the UPHClean-Setup.msi service: On Windows 2000 the service deals with application event log event 1000 from source Userenv where the message indicates that the profile is not unloading and the error is "Access is denied". On Windows XP and Windows 2003 the equivalent events are 1517 and 1524 from source Userenv. To accomplish this the service monitors for logged off users that still have hives loaded. When that happens the service determines which applications have handles opened to the hives and releases them. It logs the application name and what registry keys where left open. After this the system finishes unloading the profile.

UPHClean is a service that once and for all gets rid of problems with user profile not unloading. You are having profile unload problems if you experience slow logoff (with Saving Settings for most of the time while logging off), roaming profiles that do not reconcile, or the registry size limit is reached. Source:http://www.microsoft.com/downloads/details.aspx?FamilyID=1b286e6d-8912-4e18-b570-42470e2f3582&displaylang=en

19.REMAPPING OF DRIVES & SYSPREP 2.0

1. First, make a backup of the HKLM\System\MountedDevices key.

2. RunSYSPREP 2.0, BUT DO NOT HAVE IT SHUTDOWN OR REBOOT.

3. Select Quit from the last drop-down list.

4. Run SYSPREP. After it closes, re-import the backup reg key you previously made.

The reason for this is that SYSPREP deletes this key. It appears that SYSPREP 1.x never did, and now with 2.0 it does. I have tested this on IBM 335 servers, and it works. However, the servers has the same hardware.

http://www.freelists.org/archives/thin/05-2004/msg00734.html

This registry key is an example. It is exported before Sysprep 2.0 is started.

mountdevices.reg

There is the source for the mountdevices.reg: Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices]

"\\??\\Volume{47637ff0-08bb-11d9-a747-806e6f6e6963}"=hex:21,00,00,00,00,7e,00,\

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 92 of 94

00,00,00,00,00

"\\??\\Volume{47637ff1-08bb-11d9-a747-806e6f6e6963}"=hex:5c,00,3f,00,3f,00,5c,\

00,49,00,44,00,45,00,23,00,43,00,64,00,52,00,6f,00,6d,00,4c,00,47,00,5f,00,\

43,00,44,00,2d,00,52,00,4f,00,4d,00,5f,00,43,00,52,00,4e,00,2d,00,38,00,32,\

00,34,00,35,00,42,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,\

5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,31,\

00,2e,00,31,00,36,00,5f,00,5f,00,5f,00,5f,00,23,00,35,00,26,00,32,00,32,00,\

36,00,61,00,37,00,38,00,65,00,32,00,26,00,30,00,26,00,30,00,2e,00,30,00,2e,\

00,30,00,23,00,7b,00,35,00,33,00,66,00,35,00,36,00,33,00,30,00,64,00,2d,00,\

62,00,36,00,62,00,66,00,2d,00,31,00,31,00,64,00,30,00,2d,00,39,00,34,00,66,\

00,32,00,2d,00,30,00,30,00,61,00,30,00,63,00,39,00,31,00,65,00,66,00,62,00,\

38,00,62,00,7d,00

"\\??\\Volume{47637ff2-08bb-11d9-a747-806e6f6e6963}"=hex:5c,00,3f,00,3f,00,5c,\

00,46,00,44,00,43,00,23,00,47,00,45,00,4e,00,45,00,52,00,49,00,43,00,5f,00,\

46,00,4c,00,4f,00,50,00,50,00,59,00,5f,00,44,00,52,00,49,00,56,00,45,00,23,\

00,35,00,26,00,32,00,38,00,36,00,34,00,39,00,65,00,32,00,38,00,26,00,30,00,\

26,00,30,00,23,00,7b,00,35,00,33,00,66,00,35,00,36,00,33,00,30,00,64,00,2d,\

00,62,00,36,00,62,00,66,00,2d,00,31,00,31,00,64,00,30,00,2d,00,39,00,34,00,\

66,00,32,00,2d,00,30,00,30,00,61,00,30,00,63,00,39,00,31,00,65,00,66,00,62,\

00,38,00,62,00,7d,00

"\\DosDevices\\A:"=hex:5c,00,3f,00,3f,00,5c,00,46,00,44,00,43,00,23,00,47,00,\

45,00,4e,00,45,00,52,00,49,00,43,00,5f,00,46,00,4c,00,4f,00,50,00,50,00,59,\

00,5f,00,44,00,52,00,49,00,56,00,45,00,23,00,35,00,26,00,32,00,38,00,36,00,\

34,00,39,00,65,00,32,00,38,00,26,00,30,00,26,00,30,00,23,00,7b,00,35,00,33,\

00,66,00,35,00,36,00,33,00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,\

31,00,31,00,64,00,30,00,2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,\

00,30,00,63,00,39,00,31,00,65,00,66,00,62,00,38,00,62,00,7d,00

"\\DosDevices\\M:"=hex:21,00,00,00,00,7e,00,00,00,00,00,00

"\\DosDevices\\N:"=hex:5c,00,3f,00,3f,00,5c,00,49,00,44,00,45,00,23,00,43,00,\

64,00,52,00,6f,00,6d,00,4c,00,47,00,5f,00,43,00,44,00,2d,00,52,00,4f,00,4d,\

00,5f,00,43,00,52,00,4e,00,2d,00,38,00,32,00,34,00,35,00,42,00,5f,00,5f,00,\

5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,\

00,5f,00,5f,00,5f,00,5f,00,5f,00,5f,00,31,00,2e,00,31,00,36,00,5f,00,5f,00,\

5f,00,5f,00,23,00,35,00,26,00,32,00,32,00,36,00,61,00,37,00,38,00,65,00,32,\

00,26,00,30,00,26,00,30,00,2e,00,30,00,2e,00,30,00,23,00,7b,00,35,00,33,00,\

66,00,35,00,36,00,33,00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,31,\

00,31,00,64,00,30,00,2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,00,\

30,00,63,00,39,00,31,00,65,00,66,00,62,00,38,00,62,00,7d,00

"\\??\\Volume{32ff5a53-08c7-11d9-a864-505054503030}"=hex:5c,00,3f,00,3f,00,5c,\

00,53,00,54,00,4f,00,52,00,41,00,47,00,45,00,23,00,52,00,65,00,6d,00,6f,00,\

76,00,61,00,62,00,6c,00,65,00,4d,00,65,00,64,00,69,00,61,00,23,00,37,00,26,\

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 93 of 94

00,31,00,61,00,66,00,62,00,30,00,35,00,36,00,66,00,26,00,30,00,26,00,52,00,\

4d,00,23,00,7b,00,35,00,33,00,66,00,35,00,36,00,33,00,30,00,64,00,2d,00,62,\

00,36,00,62,00,66,00,2d,00,31,00,31,00,64,00,30,00,2d,00,39,00,34,00,66,00,\

32,00,2d,00,30,00,30,00,61,00,30,00,63,00,39,00,31,00,65,00,66,00,62,00,38,\

00,62,00,7d,00

"\\DosDevices\\C:"=hex:5c,00,3f,00,3f,00,5c,00,53,00,54,00,4f,00,52,00,41,00,\

47,00,45,00,23,00,52,00,65,00,6d,00,6f,00,76,00,61,00,62,00,6c,00,65,00,4d,\

00,65,00,64,00,69,00,61,00,23,00,37,00,26,00,31,00,61,00,66,00,62,00,30,00,\

35,00,36,00,66,00,26,00,30,00,26,00,52,00,4d,00,23,00,7b,00,35,00,33,00,66,\

00,35,00,36,00,33,00,30,00,64,00,2d,00,62,00,36,00,62,00,66,00,2d,00,31,00,\

31,00,64,00,30,00,2d,00,39,00,34,00,66,00,32,00,2d,00,30,00,30,00,61,00,30,\

00,63,00,39,00,31,00,65,00,66,00,62,00,38,00,62,00,7d,00

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004

Document name: Go in-depth with Citrix IM and MSI Last updated: 30.11.2004Author: Alexander Ervik Johnsen Version: 2.6Website: www.ervik.as Release Date: 29.11.2004E-mail: [email protected] Page: 94 of 94

20.END NOTES FROM THE AUTHOR

This guide is not a reference for how applications work in a MetaFrame Presentation Server environment. It is a reference for facilitating deployment of applications using Installation Manager, and how the Citrix Packager and IM work as a deployment tool. I have gathered knowledge from working with this product and reading “tons” of documentation. I hope this document will help to solve some of you’re problems or at least give you a short introduction to the Citrix Installation Manager, the Citrix Packager, MSI and the Windows Installer Service. If you have any questions regarding this document or any other question please feel free to contact me on the following e-mail addresses:

[email protected]

Hope this guide in some way will help you to achieve you’re goal!

Alexander Ervik Johnsen, www.ervik.as

Copyright 2004, Alexander Ervik Johnsen, all rights reserved. www.ervik.as Printed: 30.11.2004