I installed OpenOffice 3 no problem and made the appropriate programs available to the set of users "Citrix Apps - Restricted". They could open all types of OpenOffice documents and save them by default as OpenOffice documents.
The first problem was how to disable the first start wizard. This was done quite simply by installing the "DisableFirstStartWzd_ooo3.oxt" (http://wiki.services.openoffice.org/wik ... ion_Wizard) extension for all users.
The second issue was how to make the default applications for Microsoft documents for this set of users OpenOffice documents. For this I had to create a windows logon script that checked if a user was a member of "Citrix Apps -Restricted" than set the default application for .doc, .docx, .xls, .xlsx, .ppt and .pptx files to OpenOffice Applications.
First I had to understand how file associations really worked in a windows environment (http://www.brianmadden.com/blogs/brianm ... tions.aspx). In a nutshell a program is referred to as a file type. A file type is associated to a file extension. This is controlled in the computers registry in both HKLC\Software\Classes\(file extension) and HKCU\Software\Classes\(file extension). The entry in HKCU overrides the former if a value appears in both.
To find what the file types are for the approriate program you can use the "ftype|more" command at a command prompt. If you wish to apply a setting to HKLC\Software\Classes\(file extension) use the "assoc" command for example to set Open Writer as the default program for .doc file extensions use the "assoc .doc=OpenOffice.org.Doc" command.
So how to create a script that adds the appropriate registry values into HKCU\Software\Classes\(file extension) for "Citrix Apps -Restricted". I first downloaded kixtart (http://www.kixtart.org/) and installed it by copying the files into the \\domaincontroller\netlogon directory. To set a user to use kixtart at logon set their windows logon script to "kix32". By default it will use a file "kixtart.kix" unless "username.kix" exist in the \\domaincontroller\netlogon directory.
A sample kixtart.kix script:
Code: Select all
/* Driver mappings.*/
USE * /DELETE
USE S: "\\server\shareddirectory"
IF INGROUP("Citrix Apps - Restricted")
/* Office 2003 associations. */
WRITEVALUE("HKEY_Current_User\Software\Classes\.doc","","OpenOffice.org.Doc","REG_SZ")
IF @ERROR = 0
? "Value written to registry"
ENDIF
WRITEVALUE("HKEY_Current_User\Software\Classes\.xls","","OpenOffice.org.Xls","REG_SZ")
IF @ERROR = 0
? "Value written to registry"
ENDIF
WRITEVALUE("HKEY_Current_User\Software\Classes\.ppt","","OpenOffice.org.Ppt","REG_SZ")
IF @ERROR = 0
? "Value written to registry"
ENDIF
/* Office 2007 associations. */
WRITEVALUE("HKEY_Current_User\Software\Classes\.docx","","OpenOffice.org.Docx","REG_SZ")
IF @ERROR = 0
? "Value written to registry"
ENDIF
WRITEVALUE("HKEY_Current_User\Software\Classes\.xlsx","","OpenOffice.org.Xlsx","REG_SZ")
IF @ERROR = 0
? "Value written to registry"
ENDIF
WRITEVALUE("HKEY_Current_User\Software\Classes\.pptx","","OpenOffice.org.Pptx","REG_SZ")
IF @ERROR = 0
? "Value written to registry"
ENDIF
ENDIF
To do this simply open the OpenOffice.org create a new document screen, go to "tools" and then "options". Under the "Load/Save" option then "General Options" you will notice at the bottom two drop down boxes. One for the "document type" and one for "always save as", set these respectively. This generates a file called "C:\Users\(username)\AppData\Roaming\OpenOffice.org\3\user\registry\data\org\openoffice\setup.xcu" on vista or "C:\Documents and Settings\(username)\Application Data\OpenOffice.org\3\user\registry\data\org\openoffice\setup.xcu" on windows 2003 server.
Copy this file into "D:\Program Files\OpenOffice.org 3\share\registry\modules\org\openoffice\Setup" directory. All new users of OpenOffice will start off with the above configured settings.