This was an open discussion session where customers were able to talk directly with some of the App-V team. There were some interesting details brought up in this session including:
Well TechEd EMEA 2008 is done and I still have some notes to post from a few more noteworthy sessions, so until then here’s a few more observations about the conference:
This was a session to demo the new features in App-V 4.5, mainly aimed at those people already familiar with App-V. It was presented by Gene Ferioli, a senior program manager on the App-V team. Gene worked with the SCCM team on the App-V integration for SCCM 2007 R2.
This session was pretty straight-forward but the most interesting part was when Gene demonstrated automatic loading of virtualised applications from a USB thumb drive. The App-V team have written a proof of concept utility (SFTMON) that runs in the background and monitors for the insertion of removable media. It then parses the device for manifest XML files created for 4.5 sequences and uses those to automatically add the applications into the local cache.
This is all achieved with SFTMIME commands, so there’s nothing stopping anyone else from creating a utility like this. The team may post this code on the App-V blog or make it available as a resource kit tool, but no firm plans have been made so don’t expect to see this soon.
This was a pretty cool demo which has great use cases. Essentially you could take all of your applications with you, plug in the thumb drive and way you go. A couple of the other app-virt vendors support this scenario today, but this is great news for App-V users.
Another interesting note is that there is currently a design change in to create a notification bubble that let users know when their applications have finished loading to 100%. Whether this actually makes it into the product some time in the future is another story.
This session was about DirectAccess in Windows 7 and Windows Serve 2008 R2 as well as Terminal Services Remote Desktop Services changes in Windows Server 2008 R2. The DirectAccess feature looks pretty compelling but it will take some time to get to there. However, the Remote Desktop Services stuff was actually pretty cool.
DirectAccessDirectAccess is essentially access to the corporate network without a VPN.
DirectAccess provide seamless access to the corporate network (corpnet) over IPsec and IPv6, however you can tunnel this inside IPv4 and TLS for where you can’t get direct IPv6 connections. DirectAccess leverages policy based network access – this mean that DirectAccess is integrated with Network Access Protection for policy and remediation services.
On the client-side there is a name resolution agent that directs requests for corporate resources to corporate DNS servers and requests for Internet resources to public DNS servers. Sounds like no more split tunneling issues that you would have with standard VPN connections.
DirectAccess requires a domain connected machine but does not actually require a user to be logged on for it to be connected to the corpnet. This means that anyone responsible for management of workstations can access those machine just like they were on the local LAN. Things like Group Policy can also be applied when the machine is outside the network too.
Today we have increased TCO because we need to get those mobile machines into the network to manage them, but with DirectAccess this is no longer an issue (of course those machines will need to be running Windows 7).
To get DirectAccess you will need Windows Server 2008 R2 to support the server-side connection (what the speakers were calling a Thin Edge DoS Prevention Server) and the Windows 7 client. Unfortunately we won’t see DirectAccess coming to Windows Vista.
There were also some specific Windows Server 2008 R2 Domain Controller requirements if you are looking at two-factor authentication. I’m not sure if that meant all DCs in the domain or forest or just DCs that the machine would be authenticating too.
The demo of DirectAccess was pretty straight-forward – if you are away from the corporate network you can still access internal or external resources just like you were onsite. It does look to be pretty seamless to the user.
Windows Server 2008 R2 Remote Desktop ServicesYou’ve probably already seen that Terminal Services has been renamed to Remote Desktop Services in Windows 7 and this has been done to bring into into line with its new capabilities where it supports VDI scenarios too. Of course all of the components have been renamed so now we have Remote Desktop Gateway, Remote Desktop Connection Broker, Remote Desktop Web Access and Remote Desktop Easy Print, all of which support or are supported by Terminal Server and VDI connections.
The new broker supports both TS and VDI sessions and you can see this with a unified view of your applications and desktops when you sign into the new Web Access.
I was glad to hear the speaker stress that Terminal Server is more scalable than VDI – somewhere in the range of 3 to 10 times more scalable. So if you’re thinking of replacing your TS infrastructure with VDI, you should probably be looking at applying the best tool for each usage scenario.
There was a quick list of improvements to Remote Desktop Services (you should be able to get a more detailed list soon)
At this stage there are no concrete details on what features will make it into the updated Remote Desktop Client for Windows Vista and Windows XP, but there will most certainly be some features dependant on Windows 7 as the client.
The Web Access feature gets a make over (a big improvement over Windows Server 2008 if you ask me) plus forms-based authentication – much better than the auth dialog you see today. There’s also some client side interaction too, after you successfully authenticate you get a system tray notification that handles status information and allows you to disconnect (similar to what Citrix has today).
The connection experience was demoed and it did look pretty cool. The presenter was using a Windows Server 2008 R2 machine as the host connecting to a remote desktop that woke up a stored VM of Windows 7 running in Hyper-V. He then showed the Gears of War trailer streaming over this connection which played perfectly (this would be a LAN based scenario however, streaming over a slower connection wouldn’t be quite as nice). This stuff works on Terminal Server and VDI connection too.
There was also some improved RemoteApp integration. In Windows 7 there is an additional Control Panel applet in which you configure your connect to the farm and the applications are automatically added to your Start Menu – applications as well as desktops. This is very similar to Citrix’s PNAgent and the user experience looks pretty good.
Finally there were a few other random points:
After experiencing some initial troubles with Internet access from my hotel room, I might be able to start posting some pieces from Tech∙Ed here in Barcelona. Some of these might be out of chronological order, but first up here’s a general odds and ends from my first few days here:
There’s more to come on the sessions I’ve attended as soon as I can clean up my notes and post them.
Microsoft posted a knowledgebase article yesterday titled: With Microsoft Application Virtualization 4.5 you are unable to Sequence Adobe Reader 7.x or 8.x due to NETOP FEAD Installer error. Essentially the NETOP FEAD installer is not compatible with the 4.5 Sequencer (or perhaps that’s the other way around).
Based on the issue described in the article, it appears that people are encountering this specific issue as a result of not performing a scripted installation of Reader during sequencing (i.e. not extracting the setup file and using a custom transform for installation).
So why are scripted installations important? Here’s my three top reasons:
In the case of Adobe Reader, if you’ve used my articles on deploying Reader 8 and Reader 9 via a custom transform and script, you won’t have issues and should be able to sequence those applications successfully.
OK, shameless plug there
At some point in your migration from Windows XP to Windows Vista you’ll no doubt be looking to manage which Control Panel applets are available to users. Controlling access to applets is no different than earlier version of Windows, but given that there are approximately 48 default applets in Windows Vista compared to 29 in Windows XP, more consideration will need to be given to those which you make available.
There’s a good chance that list will be different for everyone, but here’s my approach: Hiding Control Panel applets is not a replacement for ensuring users are not logging into their workstations with administrative access. Without administrative access, users cannot make system wide changes. Restrict applets too much and you can make support difficult.
I consider the task of restricting the available applets as a means of de-cluttering the interface, not ‘locking the system down’.
Here’s what Control Panel applets I would consider to be relevant to most users in a Windows XP environment:
A couple of these may not be completely necessary, but they give users enough access to manage their environment to suit the way they work. Note that there’s nothing in these applets (yes, including Network Connections) that lets standard users change system settings. There are also many Group Policy settings that allow you to be fairly granular for settings within these applets.
This is what I’m looking at providing for users in Windows Vista:
As you can see there’s many more icons, but Vista does provide many more features. There are a few applets here that you may wonder why I’ve not hidden them:
Here’s a short list of recommendations when configuring Group Policy for the Control Panel:
There are also a couple of other settings that remove options that users don’t need to see:
And finally, here’s what Control Panel under Windows 2008 Terminal Server might look like:
So, what do you think - am I off my tree for giving users so many options? Or can I get some support for the ‘enabling users’ camp?
There are numerous ways to customise the default user profile in earlier versions of Windows, including:
The first option carries over to Windows Vista and Windows Server 2008 however the second option is not available in quite the same way. Windows Vista’s setup is a very different beast and customising the default profile with scripts requires using the auditUser pass and setting the CopyProfile value.
There’s some great detail about using this process to modify the default user profile at FireGeier’s Unattended Vista Guide plus there’s a post at MSFN.org that my help you understand the process too. However, I think there’s a simpler way. It’s perhaps not a flexible as deploying via the UNATTEND.XML file but it doesn’t require running SYSPREP to get the job done.
You can edit the default profile by directly modifying the Windows Vista or Windows Server 2008 image. This involves mounting the image and making your changes:
Be sure to set the CopyProfile value to False in the UNATTEND.XML, otherwise these changes will be overwritten. Here’s a script that performs those steps for me:
@ECHO OFFAs you can see I’m adding registry entries that will configure the user environment which does mean that there’s a bit of work required to find them in the first place, but it does allow me to document every change to the profile, so I think the effort is worth it.
Extending this process, there are a few other things we can change in the Windows image that will impact the default environment:
Then there are a couple of additional tools that I’ve used to make changes to the default user environment once Windows has been installed and added to the domain:
By modifying the Windows image directly, your custom default profile will be available on machines whether you use an unattended or manual deployment.
Here’s a few more articles worth reading:
A number of useful App-V (resource kit) tools have been released which look very useful:
Application Virtualization Application Listing Tool
The App-V Application Listing Tool (ListVApps) is a tool which lists all the virtual processes that are running at a specific time on a specific computer. You can use the tool to get information about the priority and owner of each process, the size of its virtual memory, its session identifier and processing time. User with administrator privileges will see all running virtual applications.
Application Virtualization Cache Configuration Tool
The App-V client cache tool (AppVCacheSize) allows administrators to increase the Microsoft Application Virtualization client cache size through a scriptable command line interface. AppVCacheSize uses the specified parameters to configure the desired cache size, as well as toggle between using a free disk space threshold or set a maximum cache size.
Application Virtualization Client Log Parser Utility
You can use the fields and values contained in the output file to filter information obtained from the log files. The output file generated by the application log parser utility contains the following fields: System, OS, Build, Date, Time, Module, Log Level, hApp, App, User, Thread, and Message. The information contained in the output file can also be imported into Microsoft Excel for subsequent evaluation. This log parser simplifies the task of looking through log files, being able to filter by log level, build report, launch failures, mini-dumps, minimum disconnected operation mode entries and more. Afterwards, the appropriate party can import the data for analysis and/or utilization.
Application Virtualization SFT Parser Tool
This one looks interesting, but a PKG Parser would be nice too:
You can use the Application Virtualization SFT Info utility to extract the following information from SFT files:
and finally:
Application Virtualization Dynamic Suite Composition Tool
This is a GUI tool for managing DSC.
Dynamic suite composition is a Microsoft Application Virtualization (App-V) feature that enables applications to be sequenced separately from the plug-ins and middleware applications they rely on, while still being able to utilize the virtual resources such as file system and registry settings, in the virtual environment. The packages will run and interact with one another as if they were all installed locally on a computer. The primary package will also assume the secondary packages entire virtual environment, including the virtual file system. If there is an installer associated with a virtual application package, the installers will be automatically updated.
As is the case with most tools released like this, official support channels are only via the App-V forums on Microsoft TechNet.
I don’t know why I keep getting involved with Java. I know I’ve written about it more than a few times before, but it’s not because I like Java… So before I get into a tirade about it, here’s yet another post on the subject..
IntroductionWe’ve had some issues taking an existing sequence of the Sun JRE created in 4.2 and running it on a 4.5 client (maybe more on that at a later date), so I’ve gone back to drawing board to get version 1.3.1_10 working in the bubble, while 1.6.0._03 and 1.6.0_07 exist on our client machines.
Justin Zarb has a post on running different versions of the JRE which works great, but I would prefer to get it working without resorting to scripting. To do that I’ve taken advantage of behaviour of the sequencer that takes registry keys deleted during the sequencing process, and hiding them from the resulting bubble when the application is executed on the client.
To achieve separation between the JRE in the bubble and the JRE installed on the system, I’ve followed this basic process:
By implementing steps 2 and 3 you essentially create the anti-JRE which enables you to completely hide the versions of the JRE installed on workstations in your environment – no scripting at runtime required.
Here’s an example of this process in play: the first image below shows some of the HKCU\Software\Classes\CLSID keys, added by 1.6.0_07, seen in the real (non-virtualised) registry:
By adding those keys to the sequencer machine and deleting during sequencing, we end up with only the keys added by the 1.3.1_10 installer. Here is the same HKCU\Software\Classes\CLSID key seen inside the bubble:
Building the Pre-sequencing EnvironmentAll sequencing was performed on a clean installation of Windows where no versions of the JRE had ever been installed. This was done to ensure complete control over the sequencing environment and to ensure
To capture the keys that are installed by 1.6.0_03 and 1.6.0_07, I sequenced those versions and opened the resulting package in the most excellent SFT Explorer. From there you can export the registry keys created by the installer.
From that exported registry file I’ve created a script that will add those keys to the sequencing machine (keys only, values are not required):
Download the pre-sequence script here
This script is then run before sequencing takes place so that the same keys can be deleted before installing the older version of the JRE, and those deletions are then picked up by the sequencer.
Installing and Capturing the JREI’ve scripted the install process to make things simple, so here’s the process the occurs during sequencing:
Here’s a copy of the install script:
Download the install script here
After installation and capture is complete, a few steps must be completed in the Sequencer before saving:
Once you have completed the sequence and are running the package on your client, you should see the virtualised JRE as the default Java machine in Internet Explorer inside the bubble:
Whilst running Internet Explorer normally, the installed version of the JRE will be the default:
Adobe have made Flash Player 10 available, but unfortunately there’s still no support for 64-bit browsers, but then Silverlight 2 doesn’t have 64-bit support either.
If you’re looking to install Flash Player 10 on Presentation Server/XenApp, make sure you’ve got XenApp 5.0 for Windows Server 2008 first or hotfix PSE450R02W2K3028 for Presentation Server 4.5 Hotfix Rollup Pack 3 for XenApp 5.0 and Presentation Server 4.5 (x86 here and x64 here).
If it’s direct downloads you’re after for deployment in your organisation, the same direct download links work, just be sure to apply for a distribution license before-hand.
Even though I log onto my domain machine with a standard user account, I’ve been prompted by UAC to elevate when running Registry Editor. After putting up with it for a couple of months, I finally got around to doing something to fix it today.
To see what was going on I used Process Explorer to see the differences in privileges between a standard process and an elevated Registry Editor. Here’s Notepad running with my standard token:
And here’s REGEDIT running with the elevated token. As you can see, the difference is the SeLoadDriverPrivilege privilege:
I use TrueCrypt to protect data on one of my USB thumb drives. TrueCrypt, of course, loads a driver when you mount an encrypted disk, and some time back I had been attempting to avoid the UAC prompt involved with mounting the encrypted disk. Sure enough when I took a look in the Local Security Policy editor (SECPOL.MSC), I had given the Users group the ability to Load and unload device drivers:
Removing the right for the Users group, didn’t help me with TrueCrypt, but at least now I can open REGEDIT (which I use far more often) without a UAC prompt.
At the next Vista Squad meeting tomorrow night (Wednesday 15th October), along with Ray Booysen, I’ll be presenting on User Account Control and developing & running as non-admin. There’s a few things we’ll cover, including:
One of the great strengths of Vista Squad is that it gets both IT pros and Developers together in the same room, so I’m hoping to make this an open discussion rather that just a presentation.
That means though, we need you. There’s usually more devs than IT pros, so if you’re in London tomorrow night and you’re interested in coming along, you can sign up here.
Now this looks good: Microsoft Application Virtualization Management Pack for Systems Center Operations Manager 2007. If you’re deploying applications via any virtualisation/streaming solution, monitoring is essential.
The Microsoft Application Virtualization 4.5 (App-V) Management Pack enables IT professionals to use Microsoft System Center Operations Manager 2007 to monitor App-V server systems. The Management Pack is designed to maximize Application Virtualization Server availability for handling Application Virtualization Client requests. This component delivers an enterprise-level solution to proactively monitor Microsoft Application Virtualization 4.5 server systems.
Feature Summary
Here’s a download that’s quite timely as I’m looking at application compatibility as a component of my Windows Vista deployment project: Windows Vista Application Compatibility Downloadable List for IT Professionals
The Application Compatibility List for IT Professionals is a Microsoft Office Excel-based spreadsheet containing software applications which have earned the status of “Certified for Windows Vista” or “Works with Windows Vista.”
Additionally, this list contains applications with a status of “Compatible.” “Compatible” means that the application has been reported by the publisher as compatible with, or supported on, Windows Vista. These applications have not gone through the Microsoft Windows Vista Logo Program.
The Application Compatibility List for IT Professionals is current as of July 31,2008 and published as of the Date Published..