How do you add FTAs to profiled applications that the installer forgot to install? Answer: There are a few steps.
This has been on my list to Blog about for a while, just haven't gotten around to writing about it, mostly because I hadn't had a chance to verify the solution would actually work. Conveniently, Karl Muller of I-Access took care of the trial for me, and it worked, so here's the solution. Thanks Karl.
Review
Backup a couple steps... "FTA what!"
When an application installs, it writes entries to the machine to establish associations between file extensions (multiple) and programs (single). Each file type definition also includes a reference to the ICON that goes with the extension. This is what Windows Explorer uses to show you icons that looks like MS Word for file's that end in .docx.
The Streaming Profiler runs the installation program under isolation and blocks the installers attempt to set FTAs on the true machine. As part of post processing, the profiler examines all the FTA entries that the installation program TRIED to create and for each of these, creates corresponding FTA entries in the streaming profile XML data - you can see them in the .profile file, if copy to .xml and view with web browser. Easier, just look at the properties of applications captured during profiling and ask to see the FTAs. Yes, that's much easier.
The Access Management Console (XenApp publishing console) reads the profile information and gets a list of all the captured FTAs. It makes these AVAILABLE for association with applications that you publish. The default is that no FTA will be associated with the published application, so as an admin, you have to go to direct action to establish the FTA by clicking on boxes.
BUT - There's a catch, you can only establish FTA reference for the FTAs that were captured by the streaming profiler.
Say you know that .DOC9 (.DOC and the number nine), is SUPPOSED to be associated with MS Word, but you note that the installation program seems to have left that one out, or that the streaming profiler seems to have missed this one. Let's focus on the first one. You have an extra FTA that is SUPPOSED to be associated that seems to be missing from the list. How do you add an extra FTA?
Option 1: Streaming Profiler, application properties, FTAs, Add
Option 2: In the Access Management Console, application properties, FTAs, Add
Both options above would be GREAT, if only they worked. They are both READ-ONLY. You can see the FTAs, but you can't add a new one.
The solution...
FTA must be captured during profiling
When profiling, tell the profiler that you want to launch an installer, it will prompt you for the path and name of the installation program, tell it "CMD". When launch the installer, you will get a command prompt running that is running inside of isolation. Two commands are needed at the command prompt to establish an FTA.
- assoc .doc9=Word.Document.12
- ftype Word.Document.12
If the ftype is already in place, you're done. If not,
- ftype Word.Document.12="C:\Program Files\Microsoft Office\Office12\WINWORD.exe" /n /dde
- exit
Now, let the streaming profiler do it's thing to see what the "installer" did and it will discover a new FTA for the .doc9. Save the profile and return to the Access Management Console.
Publishing
In the AMC, publish a new application, point it at the profile and it will see the FTA that you added. EASY!
There's a catch
There is always a catch. The catch here is that the FTA will exist only for new application that you publish. Applications that you have already published have already had the FTA data sucked out of the streaming profile and placed into the XenApp publishing infrastructure. The AMC will not "pick up" or automatically update the applications to reflect changes to the profile, so the FTAs won't exist. If you need that FTA added to an application that is already published, it is necessary to delete the application and republish it.
The other solution
Not recommended, but you can accomplish the same thing by hand editing the XML data in the streaming profile and saving. This isn't the RECOMMENDED answer, but just between all of us, it will work.
Joe Nord
Comments (4)
Jun 10
Anonymous says:
Hi Great post Joe as usual and I like his approach better than hand editin...Hi
Great post Joe as usual and I like his approach better than hand editing and also using tool below. But just would mention it for reference http://community.citrix.com/display/xa/Streaming+FTA+Config+tool+to+add+FTA's+using+Streaming+Profiler+SDK.\\
May be at some time streaming profiler would provide a UI option to add/delete custom FTA's
Best Wishes,
Manbinder
Jun 10
Joseph Nord says:
Thanks Manbinder! Your post even has actual example code using t...Thanks Manbinder! Your post even has actual example code using the profiler SDK. Super.
Jun 22
Anonymous says:
Hi Joseph, This solution still didn't work for me until I discovered that my pr...Hi Joseph,
This solution still didn't work for me until I discovered that my problems went away after I removed the streaming client from the profiler machine. Can you confirm this?
Also I noticed that associations are only picked up the very first time you create a new profile. As long as you install or edit the registry in the first run (before you press Finish) associations are picked up. If you choose Finish and then update in the same profiler session it no longer works.
Regards,
Erik de Jong
Jun 24
Joseph Nord says:
> This solution still didn't work for me until I discovered that my problems ...> This solution still didn't work for me until I discovered that my problems went away after I removed the streaming client from the profiler machine. Can you confirm this?
I can't confirm it, but if that's what you observed, I also can't counter it with something else. In theory, the installers attempts to set FTAs will be blocked by isolation, so the true machine will be unaffected by the FTA definitions. The note of FTAs only being picked up on the first run appear to be related to the first. Sounds as if the machine already has the app locally installed. Does it? Did it? Or did the FTAs leak through during profiling? Not enough info right now to say one way or the other.
If it remains a headache, open a ticket and get it officially looked at.
-Joe
Anonymous says: