Sometimes I get caught up in the daily work grind and I lose track of how awesome the technology I work with every day is, and how it enables me to solve very important problems, and sometimes even makes me look like a rockstar.
That sort of thing happened just yesterday so I wanted to take a couple of minutes to highlight a big win that XenApp, the Citrix Streaming Profiler, and streamed apps in general helped me achieve for our team. Since I took the time to document it for later internal use anyway, I’m also going to publish a version of the primer here. I’m sure most experienced XenApp admins won’t need this, but having been the guy searching the web for a little how-to help before, I’m also hoping somebody might find it useful.
I work at a large public university. We have a lot of Mac users on campus, and the number increases every year. Heck, I’m one of them. We also run really huge systems for things like grades, registration, degree auditing, and payroll. It may come as a surprise to you, but many of these large systems and applications don’t make a huge effort to be “Mac friendly” client-wise. One of our first big wins with the rollout of our new system was publishing Internet Explorer so faculty using Macs could run a web application that required an ActiveX plugin, which meant it required IE.
Yesterday I was made aware of an issue involving another system, its Java-based web client, and Macs. As both “the Citrix guy” and one of our main Mac guys, these problems naturally gravitate to me, and I’m happy to work on problems like this because they a) increase the utility and value of my Citrix systems and b) help out my fellow Mac users. In a nutshell, something was going wonky on this system, rendering the text output on Macs, but only on Macs, too tiny to be read comfortably. So the manager of our HelpDesk came to me and asked if we could use the published copy of IE to solve this issue. The answer at that moment was no, as we were publishing a vanilla copy of IE and we don’t have a JRE baked into the PVS image it runs on. But the answer quickly became yes. I knew it was possible to profile plugins and stream them down to be used with a local (or published) copy of IE, and I even did it once or twice during our POC, but hadn’t had any reason to do so in production. Another wrinkle was this particular web app needed a specific older version of the JRE, but that’s the sort of thing app streaming is made for.
To make a long story short, I jumped on my virtual server I use for profiling apps, fired up the Streaming Profiler, profiled the specific version of the JRE needed, and saved it to our App Hub. From there, I published it, tested it on my Mac as both me and a couple of different test normal users, and then did a quick demo for our HelpDesk manager. She was impressed, and we had a solution to offer our Mac users in case the font size wonkiness couldn’t be resolved in some other manner.
Was it amazing? Not really. Was it something only a veteran Citrix admin could do, and that only after hours of research and planning and painstaking work? Not at all – it was practically a textbook example of a problem designed to be solved by application streaming. But whether it was an easy problem to solve or a hard problem to solve, the important part is we solved the problem and helped out our users. I’d call that a win any day.
That’s the end of the “Saves the Day” post. Unless you need a primer or refresher, I’d suggest you stop reading now, because everything after this section is going to be kinda boring – just screenshots and instructions.
How to profile JRE (or some other IE plug-in) with the Citrix Streaming Profiler
3. Select Advanced Install and click Next.
4. Select Install IE Plugins, Web applications, or online updates (Microsoft Internet Explorer only) and click Next.
5. Click the Launch Microsoft Internet Explorer button.
6. Browse to the provided URL for downloading the specific version of the JRE, click to accept the license agreement, and click on the Windows x86 Offline (32-bit) download. Do not save the file.
7. Choose to run the installer, not save it. This is necessary because the Streaming Profiler has to see the JRE installer running in the same context as the Internet Explorer process it launched.
8. Walk through the JRE installer accepting the defaults.
9. Once the JRE is installed, test it by opening the web app that requires Java. You should be prompted to approve the running of the JRE. Do so.
10. Success! Close any Java and IE windows that are open
11. Click Next.
12. Make sure Finish installations is checked and click Next.
13. There are no applications that need to be run at this point, so click Next.
14. Internet Explorer was run during the installation, and is the only application to publish, so click Next, then Finish.
15. Save the JRE Profile to the App Hub. If you click Browse, you will see the folder you last saved a profiles app to. Select it and click Save.
16. Once the save is completed you will see the full size of the JRE profile in the right-hand pane.
18. This will be an Application, Accessed from a server (this is for Mac users, remember?), and it will be Streamed to server. Click Next.
20. Here’s a screenshot of the JRE running via Internet Explorer on my Mac.