This may be old news to some of you but it has proven to be so popular that I thought it was worth a mention here. This is a topic that came up on the forum a month or two back but I'll post it here to save you the trip. Basically someone asked how the PKG mechanism worked and Chris Lord, a Senior Program Manager for Microsoft Application Virtualization, posted this response:
========

========
If you'd like to read the thread in its entirety see http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=2880423&SiteID=17.
J.C. Hornbeck | Manageability Knowledge Engineer
Yesterday I posted about a new version of SFT Explorer being available and today I was tipped off about SFT-Check being updated as well. I've commented on SFT-Check before as well so if you're not familiar with that tool then you can read my previous post or get the skinny straight from the horses mouth:
http://www.virtualapp.net/sft-check.html
I know I'm repeating myself so don't say you were never warned if something goes awry. This is not a Microsoft tool and as such we make no warranties or guarantee's, nor does Microsoft support the use of this tool in any way. This is one of those 'use at your own risk' type of things but I've heard a lot of good things and think you'll find it very helpful.
J.C. Hornbeck | Manageability Knowledge Engineer
A few months back I posted a heads up about SFT Explorer version 1.1 being available and the next thing I know it's up to version 1.4. Guess I need to start paying a little more attention. Anyway, if you're not aware of what this tool is then check my previous post or just read the description from the download location.
As always, this is not a Microsoft tool and as such we make no warranties or guarantee's, nor does Microsoft support the use of these tools in any way. With that said, I hear a lot of good things about it and think you'll find it useful.
SFT Explorer can be found at http://www.virtualapp.net/sft-explorer.html.
J.C. Hornbeck | Manageability Knowledge Engineer
I have been on site with a few customers lately and a common issue I have been seeing is high pool memory usage. This may manifest itself in user’s PKG files being written out as 0KB files and causing launch failures the next time the app is used. It can also cause 2020 or 2019 errors in the event log and cause the server service to fail to allocate resources which can also cause the Terminal Server computer to refuse connections.
This can happen on Terminal Server/Citrix servers under heavy load because pool memory is a finite resource and by default is tuned to the middle setting. In a Microsoft Exchange world, this setting needs to favor PTEs but in TS we use very few PTEs and thus can tune the other way to maximize pool memory. See http://support.microsoft.com/kb/312362/en-us for more information on the error and how to tune this setting.
However, the 2020 error is not always logged because not all processes log when pool memory allocations fail. So Perfmon can show you the amount of pool memory you are using and windbg can show you the amount you have. See the Advanced Windows Debugging and Troubleshooting blog at http://blogs.msdn.com/ntdebugging/archive/2006/12/18/Understanding-Pool-Consumption-and-Event-ID_3A00_--2020-or-2019.aspx for a detailed walkthrough on identifying pool memory usage.
I have found one culprit causing this issue in the MDM (Machine Debug Manager - http://support.microsoft.com/kb/321410/en-us) that is included in Office packages. It can contribute to high pool memory consumption when as a service it starts for each user that launches an Office application. By disabling this service in Office packages and tuning the memory settings to maximize the available pool memory the overall performance of and stability of both TS and SoftGrid is increased.
Hope this helps,
Travis Guinn | Premier Field Engineer - Microsoft Application Virtualization
I got a tip about this article this morning and thought some of you might be interested in reading it too. I hate sounding like Joe Salesguy but it's a great case study in how to save tons of cash using MS App Virtualization.
========
The small IT staff of the Kent School District in Kent, Wash., has discovered a way to nearly kid-proof the thousands of notebook PCs it’s phasing in for all grade levels.
The district uses the notebooks simply as a repository for groups of applications that are virtualized using the Microsoft Application Virtualization software (formerly SoftGrid)....
To continue reading see http://napps.networkworld.com/news/2008/050108-school.html
J.C. Hornbeck | Manageability Knowledge Engineer
I'm sure you know all about the upcoming features available in Microsoft Application Virtualization (nee SoftGrid) and how it integrates with System Center Configuration Manager 2007 but if you're wanting to get a quick head start on testing some of the new features then my buddy Justin has just the ticket. Over on his Virtual World blog he posted some easy steps on getting a lab set up super fast:
http://blogs.technet.com/virtualworld/archive/2008/03/27/beta-4-5-and-beta-sccm-r2-how-to-get-a-quick-test-lab-for-sccm-r2.aspx
Just be sure you update your site boundaries once you get this all setup or you're going to run into problems:
http://blogs.technet.com/virtualworld/archive/2008/04/28/beta-4-5-and-sccm-r2-the-requested-software-cannot-be-located.aspx
So you have your test lab all configured - now what? If you're anything like me you're going to want to try streaming a virtual app from a ConfigMgr 2007 Distribution Point. Sure it looks easy (and it is) but he outlines a "gotcha" and includes steps on setting this up as well. Check it out at:
http://blogs.technet.com/virtualworld/archive/2008/04/29/beta-sccm-r2-virtual-application-server.aspx
Justin has done a great job piecing this all together and I'm sure he has many more exciting things in store. Stay tuned...
J.C. Hornbeck | Manageability Knowledge Engineer
A question we get every now and then concerns taking a snapshot of a virtual machine while you're in the middle of monitoring a sequencing process. Sometimes you might want to do this if the sequencing of your application is long and drawn out, you're sequencing multiple apps together, or if you're wanting to create a couple different sequences starting from the same initial config. While I can definitely understand the reasons for wanting to do this, generally speaking we (Microsoft) don't support doing this because it's not something that we've fully tested and because we seen some problems when this was done before. There's essentially no guarantee that what's in memory prior to termination will be captured upon restart so if your sequence requires multiple installations, or if you find that you need to stop for some reason, we recommend that you "Stop Monitoring" between installations and leave the sequencer open and continue the next day or whenever.
This falls in line with the rest of our sequencing best practices but it's not something I've seen documented so I wanted to be sure it got mentioned here. If you want to learn more about the rest of our sequencing best practices take a look at our MCS Sequencing Guidelines doc at http://www.microsoft.com/downloads/details.aspx?FamilyId=1C6A73B8-5DA8-4A1A-838B-A41CA492C488&displaylang=en.
Robert Morris | Manageability Support Engineer
Looks like the good folks at Login Consultants released an updated version of their nifty SoftGrid OSD Editor and SoftGrid Migration tools to support Microsoft Application Virtualization 4.5. If you use the previous version of their tools and are wanting to do the same with 4.5 then you should check it out. There's a brief overview lifted from there website and a download link below:
========
Login Consultants releases updated versions of the SoftGrid OSD Editor and SoftGrid Migration Tool to support the upcoming version of Microsoft Application Virtualization 4.5 (formerly SoftGrid) which is now still in beta.
New in the SoftGrid OSD Editor 2.1, besides some minor fixes, is the ability to support and manage Dynamic Suiting Composition in OSD files. This is a new feature of SoftGrid 4.5 which allows interaction between different virtualized applications which run in their own “sandboxed” environment. The SoftGrid Migration Tool (SGMT) 1.1 has also been updated to work with SoftGrid 4.5. This version of the SGMT also supports new features of the latest SoftGrid Sequencer version, like the ability to set type of Compression, Block Size and save a Virtual Application in Microsoft Installer (MSI) format.
The SoftGrid OSD Editor 2.1 and the SoftGrid Migration Tool 1.1 can be downloaded through our downloads section.
========
As always, these are not Microsoft tools and as such we don't support or test these things so it's use at your own risk, etc., etc.
J.C. Hornbeck | Manageability Knowledge Engineer
Are you new to this whole application virtualization thing and looking for some tips on how to troubleshoot some common issues? If so then look no more because we have a virtual lab that will get you started on your way to tracking down and fixing some of these problems you may be struggling with today. The description and a link is below.
========
Language: English.
Product: System Center.
Audience: IT Professionals.
Duration: 90 Minutes
Start Date: Friday, January 25, 2008 12:00 AM Pacific Time (US & Canada)
Event Overview
In this lab, you will learn how to troubleshoot sequenced applications using common utilities. After completing this lab you will be able to create a package troubleshooting environment, use File Monitor to repair a package that is missing file(s), and use Process Monitor to add registry keys.
For more information see https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032367800&EventCategory=3&culture=en-US&CountryCode=US.
J.C. Hornbeck | Manageability Knowledge Engineer
One question I get asked a lot goes something like this: "Hey JC, we're wanting to consolidate some of our servers and get better at managing our client applications. Some of the folks here want to go with Terminal Server (or Citrix) but I'm leaning towards Microsoft Application Virtualization (SoftGrid). Based on A, B and C, which do you think would be better?"
Nine times out of ten I'll surprise them with the answer of "both" only because they never realized what a killer combination these two products make. It's not a question of one or the other as each product is really targeted at solving a different problem, so when you team them together you get an awesome solution that will solve most of the problems large enterprises are trying to solve.
I hate to sound all PR-like, I just want to hopefully clear up a common misconception that Terminal Server (or Citrix) competes with Microsoft Application Virtualization (SoftGrid) as they're really two completely different technologies designed to solve two completely different problems. You don't have to take my word for it though as we have an entire section on TechNet dedicated to this very topic. I pasted the main topics below but for more information visit http://www.microsoft.com/systemcenter/softgrid/evaluation/softgrid-ts.mspx.
========
Challenges with Today's Terminal Services Environment: Rigid, Costly, and Unwieldy
Server growth is a costly issue for organizations that rely on terminal services. To avoid post-installation application conflicts, applications must be tested up front to determine which applications will collide and, therefore, must be separated and run on different Terminal Server silos – a time-consuming and costly process. Servers are routinely underutilized because each one is locked into a specific configuration, capable of serving only a limited set of non-conflicting applications, typically using just 25% of capacity. Often, 20 servers are required to support 1,000 users. Microsoft SoftGrid for Terminal Services completely changes this situation.
Microsoft SoftGrid Application Virtualization for Terminal Services: Features and Benefits
• Consolidate servers and end server siloing, increasing server farm ROI: SoftGrid's application virtualization allows any application to run alongside any other – even applications that normally conflict, multiple versions of the same application, and many applications that previously could not run under Terminal Services. This eliminates the need for server silos and significantly improves server utilization. As a result, the number of servers needed is much lower, operational costs for managing the remaining servers is reduced, and the server farm ROI is increased. For instance, it has enabled Russell Investment Group and Fidelity National Financial to shrink their application server farms by 33 – 40%.
• End application conflicts and regression testing: By eliminating the need to permanently install applications on servers, and shielding the operating system and applications from changes created when installed applications run, Microsoft SoftGrid for Terminal Services prevents problems that hinder deployments. The need to perform lengthy regression testing is also significantly reduced.
• Build business continuity for applications: Replicate your virtualized applications like any other enterprise data to maintain an instant-on failover plan for your applications. Applications can be kept up to date between live sites and back-up sites by automatically replicating virtualized application files on the live sites' SoftGrid servers to SoftGrid servers at a back-up site (using third-party tools).
• Simplify OS migrations and patching: Turn time-consuming migration and patching projects into largely automated, conflict-free processes. Applications typically do not have to be repackaged for OS migrations. Patching and migrations do not require regression testing.
• Simplify packaging: Applications that use SoftGrid only need to be packaged once for desktop or terminal services platforms. This reduces the need for "double packaging" or creating two different processes and packages when providing the choice for running an application on a desktop or via a Terminal Server. This simplifies administration, troubleshooting, and support.
• Scalability: SoftGrid's unique approach enables applications to be centrally stored and then delivered and executed on Terminal Servers on demand. Application files are only delivered once from the SoftGrid server to the Terminal Server, where they are cached for repeat use by multiple users. As a result, SoftGrid is a bandwidth-efficient method of distributing applications to Terminal Servers ensuring that the SoftGrid server can support many Terminal Servers and thousands of connected users.
• Integration with Microsoft SMS: With SoftGrid for Microsoft Systems Management Server (SMS), IT administrators get the benefits of SoftGrid's application virtualization and dynamic streaming from within the SMS infrastructure. This allows you the flexibility to choose the best way to deploy and run applications while maintaining OS level patches, updates, inventory, and asset tracking with a single, integrated management point.
J.C. Hornbeck | Manageability Knowledge Engineer
Here's an issue we've seen a couple times recently so I thought I'd send a heads up just in case any of you run into it:
========
Symptoms: After installing VirusScan Enterprise 8.5i some SoftGrid client actions seems to be blocked. For example, if you try to start Microsoft Word 2003 /2007 or another Office Application via SoftGrid you may get the following error:
"The operation system is not presently configured to run this application."
Furthermore you may see some Event log entries like:
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 59
Description: Generate Activation Context failed for C:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DLL. Reference error message: The operation completed successfully.
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 59
Description: Resolve Partial Assembly failed for Microsoft.Windows.Common-Controls. Reference error message: The system cannot find the path specified.
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 59
Description: Generate Activation Context failed for C:\PROGRA~1\COMMON~1\MICROS~1\OFFICE11\mso.dll. Reference error message: The operation completed successfully.
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 59
Description: Resolve Partial Assembly failed for Microsoft.Windows.Common-Controls. Reference error message: The system cannot find the path specified
Cause: Due to the BOP feature (Buffer Overflow Protection) in McAfee VirusScan, SoftGrid may be prevented from hooking the DLL call to point Office Applications to the Q Drive.
Resolution: There are three possible solutions:
1 - Create an empty directory for the application on the affected system(s).
Launch Windows Explorer.
Navigate to C:\program files\Common Files\Microsoft Shared\
Create an empty instance of the virtual directory containing the Microsoft Office applications.
Example: c:\program files\Common Files\Microsoft Shared\Office 11 for Office 2003 or \Office12 for Office 2007
2 - Install VirusScan Enterprise (VSE) 8.5i without Buffer Overflow Protection (BOP) enabled.
3 - Add the name of the Microsoft Office application to the list of excluded processes in the Buffer Overflow Protection feature.
Example: winword.exe
NOTE: McAfee does not recommend excluding executables unless there is no other option and you are aware of the potential risks.
Note: Microsoft recommends the first workaround above.
Hope this helps!
Sebastian Gernert | SoftGrid Support Specialist
Ever find yourself in need of preloading an application into the Microsoft Application Virtualization (aka SoftGrid) client cache? For example, say you're rolling Microsoft App Virtualization out to a remote office where they're connected via a slow link and you want to avoid bringing all those apps down at 2400 baud (there's a term I bet you haven't heard in a while). There are some good instructions and a couple scripts that will allow you to do to this fairly easily over on virtualapp.net:
http://www.virtualapp.net/scripts.html#SoftGridPreloadApps
The usual disclaimers apply: This isn't a Microsoft site so we make to warranties or guarantees as to the suitability of this information, we don't support the use of these scripts, etc, etc but I think you'll find what's there to be useful.
J.C. Hornbeck | Manageability Knowledge Engineer
We published a new KB article last week titled The best practices and the troubleshooting information for the MSI Utility for Microsoft Application Virtualization. The link is below so if you're looking for the latest recommendations on the MSI utility then look no further:
======
http://support.microsoft.com/?kbid=949050
The best practices and the troubleshooting information for the MSI Utility for Microsoft Application Virtualization
Softgrid for Terminal Server EN
EN-US
Enjoy!
J.C. Hornbeck | Manageability Knowledge Engineer
We get a lot of questions about what you need to do after installing a 4.x SoftGrid Virtual Application Server (VAS, or would that be Microsoft Application Virtualization Virtual Application Server? I digress...) so I thought I'd post a couple of the main tasks here. We also see a lot of calls come in from folks who forget to do these things so if you're ever faced with installing a new server you'll definitely want to keep these in mind. Failure to do these post installation tasks probably means your SoftGrid server isn't going to work:
- Verify that the SQL Server Service is started and set to Automatic
- Verify that the SoftGrid Virtual Application Server Service is started and set to Automatic
- Share the content folder giving at least read permissions to Everyone. If you need to change these settings for security purposes please make sure that the System account has at least read permissions to the content folder and share
- Set the Default Content Path in the System Options within the management console. Make sure you type the UNC path to the content folder
- Verify in the Default Provider that under the group Assignment you have the group(s) that you want to publish applications to
- Verify in IIS that the installation created the SoftGrid Management virtual pool
- Verify the Credentials for the account specified to browse the Directory. This is located in the Account Authorities section.
As long as you keep these things in mind your journey with Microsoft Application Virtual should be smooth sailing.
Alvin Morales | Manageability Support Engineer
We received a number of questions regarding the upgrade process of the various SoftGrid components, so I thought I’d post some general guidelines and recommended best practices we usually try to follow. This information was originally compiled for a 3.2 to 4.1 upgrade scenario but the same SoftGrid Client upgrade process should apply for 4.2 as well.
Always be sure to read the release notes for the version you’re upgrading to for more information regarding special steps needed for your specific upgrade path.
This article addresses the upgrading of an existing v3.2.2.8 SoftGrid environment to version 4.1.1.302. This article assumes that the reader has already read the product release notes:
Microsoft SoftGrid 4.1 Service Pack 1 release notes (http://support.microsoft.com/kb/938497)
The following is a list of supported upgrade paths between versions:
- v4.0.x to v4.1.1.302 (SP1)
- v4.1.x to v4.1.1.302 (SP1)
- v3.2.2.8 to v4.1.1.302 (SP1)
- v3.x to v3.2.2.8
The following is the supported order in which to upgrade the various SoftGrid
components:
- Upgrade SoftGrid Clients prior to upgrading SoftGrid server
- Upgrade SoftGrid Sequencer to same version as SoftGrid client
- Newer clients are compatible with prior SoftGrid Server versions
- SoftGrid Packages compatible, there are some exceptions
Note: Only practices that have been tested and verified (i.e., work properly) are "supported". If a particular practice has not been factored into the regression test which occurs prior to product release, the practice is deemed "unsupported".
Avoid known issues by reviewing considerations below prior to performing an upgrade:
SoftGrid Client/Sequencer upgrade:
1. Perform a test upgrade on a copy of the production SoftGrid environment (server, database, content and client).
2. v3.2.2.8 SoftGrid Client (and prior) cannot be upgraded (to v4.x) or removed via SMS or GPO. The v3.2.2.8 Client can be removed via SchTask - if run under a user account in local administrators.
3. v4.x SoftGrid Clients can be upgraded to v4.1.1.302 via SMS, GPO or SchTasks.exe. SoftGrid Client Installation properties are documented in 4_0_Client_Install_Guide.pdf. See "Installation arameters" on pg 10.
4. Regardless of upgrade method a SoftGrid client upgrade to v4.1.1.302 will require a system restart.
5. Sample command line client upgrade: “msiexec /qn /i softgrid-wd-setup.msi REINSTALL=ALL REINSTALLMODE=vomus IS_MINOR_UPGRADE=1 /L*vx c:\4.1.1.302.Upgrade.log”
6. Most properties cannot be changed by an upgrade. For example an upgrade cannot change where the product is installed. (e.g., C:\Program Files\Softricity\)
SoftGrid Virtual Application Server/Database upgrade:
1. Perform a test upgrade on a copy of production SoftGrid environment (server, database, content and client). (Note: With 4.x we are much stricter on the versioning of the SFT files and associated OSD’s, therefore it is essential you perform this test outside your production environment!)
2. Please review the sft-server.log and windows eventlogs of your production SoftGrid server environment for any issues prior to performing the upgrade.
3. Upgrades from SoftGid versions prior to v3.2.2.8 have not been fully tested. We recommend a v3.2.2.8 upgrade prior to a v4.x upgrade.
4. Presence of a v4.x sequence in the v3.x SoftGrid database will cause the upgrade to fail. In this situation remove the v4.x Sequences using the SoftGrid Server Management Console.
5. The following products have been discontinued – Softricity Zero Touch and Softricity SMS Connector (replaced by MSI utility)
Issues that may occur during an SoftGrid Virtual Application Server upgrade:
Symptom: SoftGrid Virtual Application Server upgrade fails when upgrading from v3.2.2.8.
Error: The installation program encountered an error attempting to execute a database statement. Cannot insert the value NULL into column 'package_id', table 'SOFTRICITY.dbo.APPLICATIONS'; column does not allow nulls. UPDATE fails.
Explanation: The database changed between v3.x and v4.x and now includes packages. Thus, the upgrade must import packages from Sequence files. This error occurs when
a package import fails.
Solution:
1. Remove sequences created with the v4.x Sequencer.
2. Remove Sequences with embedded spaces in the shortcut name.
3. Take out spaces which occur in shortcut names. Do this using the SoftGrid Sequencer if possible, not notepad.
==========
Symptom: The installation program was unable to create the required IIS virtual directory
Error: DCOM errors in System events for {A9E69610-B80D-11D0-B9B9-00A0C922E750} or {61738644-F196-11D0-9953-00C04FD919C1}
Solution: Grant “Network Services” local activation perms on:
- "IIS Admin Service"
- "IIS WAMREG"
==========
Symptom: Upgrade completes but there is no SoftGrid management console.
Explanation: Windows XP SP2 or Windows 2003 SP1 (or better) is required in order to install the v4.x SoftGrid Server Management Console.
Solution: Install the SGMC on a system which meets minimum requirements and connect to the SoftGrid server.
Paul Freitas | SoftGrid Support Engineer