In App-V 4.6 SP1 the Sequencer has a new feature known as a Package Accelerator. To help illustrate how a package accelerator can save time and complexity when sequencing applications. Since Adobe Reader usually requires significant customization in a corporate environment I’ve created a Package Accelerator to account for the following sequencing steps.

 

1) Download and install WinRAR onto your sequencing station.

2) Download the Adobe Reader X installer to your desktop.

3) Right click the AdobeRdr1001_en_US.exe installer and select Extract to AdbeRdr1001_en_US.

clip_image001

 

4) Download and install the Adobe Customization Wizard X.

5) Go to the Start menu and launch Adobe Customization Wizard X.

6) Select File then Open Package...

clip_image002

 

7) Go to the AdbeRdr1001_en_US folder on your desktop and open the AcroRead.msi package.

clip_image004

 

8) On the Personalization Options page change the Installation Path field to Q:\AdobeReaderX.

clip_image006

 

9) Select the Installation Options page then select the Unattended option in the Run Installation section.

clip_image008

 

10) Select the EULA page then select the Suppress display of End user License Agreement (EULA).

clip_image010

 

11) Go to the Online and Acrobat.com Features page and disable the following items.

· Disable All Updates

· In Adobe Reader, disable Help > Purchase Adobe Acrobat.

· Disable Help > Digital Editions

· Disable Product Improvement Program

· Disable all Acrobat.com access, including initiation and participation.

clip_image012

 

12) Select File then Save Package.

clip_image013

 

13) Save the document as adobereaderx.reg in the AdbeRdr1001_en_US folder on the desktop.

14) Copy the AdbeRdr1001_en_US to a network location and revert the sequencing machine.

15) Log into the sequencing station and prepare the workstation for sequencing a custom installation.

16) Once you have the sequencer monitoring the installation, launch the Setup.exe inside of the AdbeRdr1001_en_US folder you copied to the network. You should see a progress bar as Adobe Reader X installs.

clip_image014

 

17) In order to remove some extra menus we need to create a Javascript to turn off additional menus. In the Q:\AdobeReaderX\Reader\Javascripts folder create a file called HideMenus.js and edit it with Notepad.

18) Put the following code into the Javascript.

// Remove Help -> Repair Adobe Reader Installation
app.hideMenuItem("DetectAndRepair");
// Remove Help -> Online Support
app.hideMenuItem("OnlineSupport");
// Remove Help -> Online Support - Knowledge Base
app.hideMenuItem("KnowledgeBase");
// Remove Help -> Online Support - Adobe Support Programs
app.hideMenuItem("AdobeExpertSupport");
// Remove Help -> Online Support - Adobe User Community
app.hideMenuItem("AdobeUserCommunity");
// Remove Help -> Online Support - Accessibility Resource Center
app.hideMenuItem("AccessOnline");
// Remove Help -> Online Support - Generate System Report
app.hideMenuItem("SystemInformation");

 

19) Because the above method has a slight delay at launch to take effect the following registry key should be deleted to prevent users from performing a MSI self heal of Adobe inside the sequence. Delete the following registry key.

HKEY_CLASSES_ROOT\Installer\Products\68AB67CA7DA73301B744AA0000000010

 

20) Since Adobe Reader's new feature of protected mode does not work with App-V at this time it will be disabled using the following setting. Set the following registry value.

[KEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\Acrobat Reader\10.0\FeatureLockDown]
"bProtectedMode"=dword:00000000

 

17) Launch Adobe Reader X.

clip_image015

 

18) Close Adobe Reader.

19) Finish Sequencing but make the following edits to the sequence.

· Change OSD version to 10.0.1

· Delete Q:\AdobeReaderX\Setup Files

· Delete Q:\VFS\CSIDL_WINDOWS\Installer

  

Since the Package Accelerator takes care of the above steps you only need to perform the following to prepare the source media for use with the Package Accelerator.

 1) Download and install WinRAR onto your sequencing station.

2) Download the Adobe Reader X Installer to your desktop. (ftp://ftp.adobe.com/pub/adobe/reader/win/10.x/10.0.1/en_US/AdbeRdr1001_en_US.exe)

3) Right click the AdobeRdr1001_en_US.exe installer and select Extract to AdbeRdr1001_en_US.

clip_image001[5]

 

 

For more information on using Package Accelerators see the help within the App-V 4.6 SP1 Sequencer or check out the following blogs by fellow MVPs.

 

Tim's Article
http://www.tmurgent.com/TmBlog/?p=326

Kalle’s Article
http://www.virtualisointi.fi/archive/246 

 

Also check out these links for more information on packaging Adobe Reader X.

AppDeploy Package Knowedgebase
http://www.appdeploy.com/packages/detail.asp?id=1976

Aaron Parker's Blog

http://blog.stealthpuppy.com/virtualisation/virtualising-adobe-reader-x/


 

And finally here is the Package Accelerator

http://www.bighatgroup.com/downloads/AdobeReaderX.cab

 

Posted by kkaminski | with no comments

This release of the App-V sequencer has been focused around ease of use and that is why you will notice many visual and feature differences from previous versions. The goal is to ensure a more successful sequencing experience by introducing the following new features.

 

  • Sequencing best practices – The sequencer will let the user know of potential issues with the sequencing environment and configure the sequencing station as per Microsoft best practices.
  • Improved wizards – The user is guided through the sequencing process and the complexity of sequencing applications is reduced.
  • Awareness of application type – The App-V sequencer supports different sequencing scenarios such as Standard Application, Add-on or Plug-in and Middleware.
  • No more 8.3 folder requirement – Now you don’t have to worry about what to name that 8.3 asset folder.
  • Application feedback – Known and potential sequencing issues are communicated to the user as part of the sequencing process. With that knowledge issues may be addressed before the application is deployed to for testing saving time both on the application packaging and testing processes.
  • Improved implementation of LOCAL_INTERACTION_ALLOWED – This setting can be applied to a sequence without editing each OSD.
  • Ability to specify sequencer templates for creating new packages – Customize the sequencer for your environment by ensuring frequently used parameters are configured prior to sequencing.

 

As you can see there are some significant changes in the new sequencer but you are probably wondering what that really means. Let’s take a quick tour of the new sequencer and by sequencing an application that will have issues with App-V. For this article I’ve chosen PowerISO since it has known issues with App-V but we’ll pretend we don’t know that for now.

 

Before we look at sequencing itself let’s take a quick look at some of the things the installer of the App-V 4.6 sequencer performs to make sure you are following Microsoft best practices. The first obvious change is the configuration of the second partition using the installer. App-V 4.6 SP1 installs its own virtual drive removing the need to have a special virtual machine configuration for sequencing and a different one for testing App-V applications.

clip_image001

 

Again, another example of a built-in best practice! Prior to SP1, the person doing the sequencing had to go out, read the best practice documentation, remember to set up a number of items including a dummy ODBC entry for both user and system DSNs. Now the Sequencer does this for them automatically. If I check my ODBC settings on the workstation the App-V Sequencer installation has put in place dummy ODBC entries as per Microsoft best practice.

clip_image002

clip_image003

 

Let’s proceed onto sequencing. Below, I’ve opened up the 4.6 SP1 sequencer application. What you will notice on the right hand side is a selection of links pointing to documentation and community resources. If you are not familiar with these resources I suggest you take the time to go through the Application Virtualization Library and the Sequencer SuperFlow. When you have tried a few attempts at sequencing there are the links to the Application Virtualization Forms on TechNet where you can find answers to some of your challenges. Also make note of the Recipe and Package Accelerator links because those might save you some time re-inventing the wheel. Also if you don’t it doesn’t hurt to keep track of the Application Virtualization Blog as it is quite active and informative.

clip_image005

 

I’m going to start the sequencing wizard by clicking Create a New Virtual Application Package.

clip_image007

 

Before I get too far, notice that the Sequencer gives you the option to package an application using a new feature called a Package Accelerator. Package Accelerators allow you to streamline the packaging process for an application by converting the installation media of an application into an App-V package. Check out Tim’s and Kalle blogs for a detailed overview of how to use this technology.

 

Tim's Article
http://www.tmurgent.com/TmBlog/?p=326

Kalle’s Article
http://www.virtualisointi.fi/archives/246

 

There’s also a link near the bottom of the sequencer that leads to documentation on the packaging methods. You will notice throughout the sequencing process that there will be a link at the bottom of the window which will lead to documentation. Since I’m not using a Package Accelerator, I’m going onto the next screen by choosing the default selection of Create Package by clicking Next.

clip_image009

 

The next step is to validate the sequencing environment, ensuring it meets best practices before continuing. As you can see Windows Defender is running. I can click the message for more information.clip_image011

 

The message box that appears gives more detail about the problem and also prescribes a solution to the issue. I’m going to close this window and fix the issue.

clip_image012

 

I’ve opened the services control panel and selected the Windows Defender service. I’ll right click and select Stop to stop the service which should resolve the issue indicated by the sequencer.

clip_image013

 

This screen does not automatically refresh so I have to click the Refresh button to re-evaluate the state of the system.

clip_image015

 

Now that the system evaluated successfully I can continue to the next screen. But before I do so I thought I’d point out the documentation link at the bottom of the screen. Click Next to move the wizard onto the next step. clip_image017

 

To aid you with sequencing for Dynamic Suite Composition there are additional options for the application type to sequence. We will be sequencing a Standard Application, and leaving this screen with the defaults by clicking Next.

clip_image019

 

On this page you configure the installer to launch via the sequencer or you can perform a “custom” installation and manually install the application. PowerISO is a single EXE installer so click browse to locate the installer file.

clip_image021

 

I’ve got a copy of the PowerISO 4.7 installer already downloaded onto my file server so I’ll navigate to the folder and select the PowerISO47.exe installer and click Open.

clip_image022

 

Now that the installer is specified I can click Next to name the package.

clip_image024

 

I’m going to name the package PowerISO. Notice that at the same time you can see that the sequencer automatically sets up the folder on the Q:\ drive. I’ll click Next to begin sequencing.

clip_image026

 

You should see a progress bar as the sequencer prepares for sequencing and launches the installer.

clip_image028

 

Since I’m running the installer from the network I’m prompted with a security warning that I pass by clicking the Run button.

clip_image029

 

If you look down you might catch a quick reminder to install PowerISO to the Q:\PowerISO folder which is another App-V best practice.

clip_image030

 

In the Destination Folder field I’m going to put in Q:\PowerISO and then click Install.

clip_image031

 

Once the installation phase of the installer has completed I’m going to click Next.

clip_image032

 

The next page lets me select which file associations to configure for PowerISO, I’m going to leave the defaults and click Close.

clip_image033

 

The installer then asks to reboot the PC and I’m going to pretend to not know that rebooting the sequencer while sequencing is not required and click OK.

clip_image034

 

This isn’t necessarily a new feature but the sequencer catches the reboot request can cancels it. I’m going to click OK so I can continue on sequencing.

clip_image035

 

I personally like this screen because sometimes when you are sequencing you instinctively click next when presented with a dialogue and this may lead to you stopping the monitoring process before they were actually done sequencing. This screen makes you go through a sequence of two steps before you finish sequencing. In order to do this I need to click the I am finished installing checkbox and the Next button before I can continue on.

clip_image037

 

The system will then show its progress as it completes the capture of the application.

clip_image039

 

This section allows you to launch and configure applications before completing the sequence. This can be helpful while sequencing MSIs with Advertised shortcuts as it requires a bit of MSI knowledge to figure out the properties of these shortcuts. We will leave the package as-is and click Next.

clip_image041

 

This is the page I love the most with the new sequencer. Here is where you get feedback that usually requires an application sequencer with some experience under his belt to determine. Now the sequencer immediately scans and identifies issues with the application’s composition that might cause issues while running inside of App-V. The first issue is a driver issue so I’m going to double click Unsupported driver detected and see what the feedback says.

clip_image043

 

If you look at this screen you should not only notice that it has discovered a device driver but also has identified the exact driver that was installed into the system. Also guidance is provided to install the driver locally if I need its functionality for the application. I’m going to note the error and click Close.

clip_image044

 

Next let’s look at the Unsupported shell extension detected issue.

clip_image045

 

Here you can see the specific entries for the affected shell extension. For this error you note the loss of functionality of the application and click Close.

clip_image046

 

And finally let’s look at what files were excluded by clicking on the Files excluded from package report.

clip_image047

 

If I look at the details the files being excluded are temporary files and likely have nothing to do with the application’s functionality so I’ll ignore the warnings and click Close.

clip_image048

 

To get to the next phase of the wizard I’ll click Next.

clip_image050

 

If I want to edit this sequence further by changing shortcuts, file type associations, and operating systems allowed to use the sequence I can select Customize and I will be given more options to customize this sequence. But since I’m try to produce a quick sequence I’ll leave the Stop now radio button selected and click Next.

clip_image052

 

As you can see below the sequencer automatically creates a folder and sequencer project filename for you if you want to save the sequence right away. Of course you have the option of editing the sequence in the more familiar editor mode of the sequence but I want to complete this sequence so I will click Create.

clip_image054

 

At the end of saving the sequence, a summary of potential issues is presented as a reminder to the application sequencing technician. I’m going to click Close to complete the process.

clip_image056

 

As you can see there are many enhancements to simplify application sequencing by making knowledge readily available, encouraging best practices, and providing feedback about the application sequencing process. But before I wrap things up I wanted to share a couple goodies I found inside the sequencer’s Options… menu under the main Tools menu.

clip_image057

 

Ever had to turn on LOCAL_INTERACTION_ALLOWED for an application with many shortcuts such as Office 2010? Now you don’t have to visit every OSD to turn this setting on. Turn on the Allow all named objects and COM objects to interact with the local system option then save your sequence and you are done!

clip_image058

 

Also you can supply templates for creating new packages with App-V. You select the template SPRJ file using the checkbox and field below.

clip_image059

 

What kinds of settings can you specify in a template file? Here is a list broken out by package and sequencer specific settings.

Package Settings:

· App-V server hostname

· App-V server port

· Operating systems

· Package compression

· Security descriptors on or off

Sequencer Settings

· Enable the use of windows installer

· Allow virtualization of events

· Allow virtualization of services

· Append package version to filename

· Exclusion items

 

And there you have it! As you can see there have been many changes and lots of hard work put into this latest sequencer release to make it the easiest to use yet. It is compatible with the 4.6 client so you don’t need to upgrade any client facing infrastructure to support this release. If you are just starting out with App-V I think this sequencer will help you become successful more quickly than previous versions. You can try the App-V 4.6 SP1 Sequencer by downloading it via TechNet, MSDN or your Microsoft Volume Licensing site

Posted by kkaminski | with no comments
Filed under: , ,

I’m glad to announce a new App-V book has finally come off the press and is available for order by Augusto Alvarez via Packt Publishing. Getting Started with Microsoft Application Virtualization 4.6 is a book that will be invaluable as a primer for people interested in Microsoft App-V. What I like about the book is that it is a collection of topics that will get you up to speed on the key technologies involved with setting up and using Microsoft Application Virtualization. Topics range from setting up a sequencing environment to deploying servers is covered which makes it a great read. Here is the table of contents just in case you were curious.

 

Preface
Chapter 1: Introducing Application Virtualization in a Virtualized World
Chapter 2: Understanding App-V Architecture
Chapter 3: Preparing your App-V Environment and Installing App-V Management Server
Chapter 4: Deploying the App-V Sequencer, Desktop Client, and Streaming Server
Chapter 5: Taking the Initial Steps in the Sequencing Process
Chapter 6: Sequencing Complex Applications
Chapter 7: Managing Dynamic Suite Composition
Chapter 8: Integrating App-V with System Center Configuration Manager 2007 R2
Chapter 9: Securing your App-V Environment
Appendix: Reviewing App-V for Remote Desktop Services (Terminal Services)

 

The editorial team included myself, Aaron Parker and Nicke Källén (also App-V MVPs) which I hope makes this book a solid reference. Check the post on Augusto’s blog for more information about this book and where you can order it.

http://blog.augustoalvarez.com.ar/2011/01/27/app-v-book-published-and-sample-chapter-available-for-download

Posted by kkaminski | with no comments
Filed under: ,

I thought I would take the time to write a little and explain why I think Microsoft Management Summit quickly became a must go to event in my schedule. When I first went to MMS going wasn’t so clear so hopefully this post will give you some reasons why to be there. My first MMS was a bit of a shot in the dark, I didn’t know what to expect but I thought it might be a good idea since I was an eager independent consultant looking at ways of enhancing my career and having gone to a music trade show previously I figured this might have a similar effect but I really didn’t know if MMS would deliver.

When I showed up for MMS 2007 in San Diego I didn’t know anyone, I decided to head down by myself and see what all the fuss was about. When I showed up I did what everyone should do which is take in some sessions and labs to learn about the new technologies, roadmaps and more importantly best practices. As a consultant you are sometimes put into situations where you need to have expertise on a product that isn’t exactly your specialty and that is where I found the sessions and MMS DVD to be invaluable as tools to ramp up on the necessary knowledge to cope with these situations. This event is a great place to learn, don’t be afraid to stick around after the session and ask the speaker questions. Hint: sometimes you can catch members of the product group sitting up front with the speaker.

As the days passed by I ended up running into faces from past engagements and employers so this ended up being a reunion of sorts where I sat down and had dinner with various people from my past. It was not only good to meet up with them but also talk shop and understand other people’s pain points with technology. I try to encourage people to reach out to their peers as many of these problems are more common than you would think and it gives perspective on how to address them. Also to make things more interesting I found myself experiencing a personalized product demo and business discussion off in a Starbucks which would lead to a future endeavour.But to top everything in a session about SoftGrid performance I managed to track down MVP Tim Mangan at the end of the session. We sort of knew each other from the www.SoftGridGuru.com message board but never met face to face. We ended up having lunch and that gave birth to our App-V training program www.gridmastertraining.com.

I don’t expect everyone that goes to MMS to be in my shoes but I’ve met people from various product groups, Microsoft Canada (FYI: I’m in Canada) and industry leaders over the years and I think it is a great experience if you work in this market space. Go for the training but realize there is so much more available if you take the time to get to know people and take advantage of the opportunity of being there. I’m all booked for MMS and I hope to meet some of you as well!

 

Visit www.mms-2011.com for more information.

image

Posted by kkaminski | with no comments
Filed under:

One of the more unique and somewhat cryptic portions of the App-V product is the OSD file specification. OSD files are XML files that act as shortcuts for publishing App-V applications but their functionality goes much deeper than providing a simple shortcut. This file can provide additional functionality such as scripting and virtual environment specific settings that can fix some application integration issues you may encounter with App-V.

Tim Mangan has been known for his OSD Illustrated tool that provides an interactive view of the OSD file helping explain the various elements that make up this specification. He has taken thinks a step further by publishing an e-book that talks about the OSD specification in more detail and how it has been implemented in the context of App-V. Learn more about the functionality of specific elements and also understand what has been dropped from the specification.

When I had a chance to look over a copy sent to me I even picked up a few nuggets of App-V knowledge. I feel that nearly anyone who uses App-V will find value in this e-Book and recommend you spend the $7.99 USD and pick up a copy for yourself.

Posted by kkaminski | with no comments
Filed under:

Well this sure was a crazy summer for me where I was jumping from project to project, co-authoring a book and doing a little teaching on side. Oh yeah, then somehow find time off from it all and get some of my sanity back. But what I want to write about is something I had the pleasure of being a part of in the development stages this summer and that is TechDays.ca.

If you haven’t been to Tech-Days in Canada you can imagine it as a portable mini Tech-Ed style conference that tours Canada’s major cities in the fall / winter months. There are over 50 sessions jammed into this two day event that covers everything from application development to infrastructure management. Several of Canada’s finest will help put on this event by donating their time and expertise to make this event uniquely Canadian.

This time it will be my third year and I’ve been lucky enough to watch this event evolve gaining momentum with each year. This year is very different for me as I was selected as a national session lead for TechDays.ca 2010. What this means is that I am responsible for the creation of the content for the presentation and to prepare some of our other speakers that will be assist in delivering the presentation across Canada. The presentation I will working with this year is called App-V 4.6 and Office 2010. The presentation will focus on the changes in the latest releases of App-V 4.6 and the current state of implementing Office 2010 as a virtual application. Also to spice things up I’ll cover a not so well known feature for virtual desktop implementations called Read-Only Cache.

I will be touring through other western Canadian cities such as Edmonton, Calgary and Winnipeg but you will be able to find this and other great sessions across the country. It’s not too late to attend so visit www.techdays.ca today!

image

Posted by kkaminski | with no comments
Filed under: , ,

Fellow MVP Tim Mangan and myself decided to finally release a book about App-V. We decided to release a 233 page book that focuses on an often overlooked core piece of the technology which is the App-V client. The content should help you better understand the operation of the App-V client so you can properly configure and maintain it in your environment. We took only a chapter from our 500+ pages of App-V 4.6 Masters Class manuals and expanded upon it to create this book. I truly hope this is the most complete piece of documentation you find on the subject and maybe some of the topics will spark some of those “ah-ha!” moments.

 

You can order the book directly from here http://www.tmurgent.com/TheClientBook/default.aspx

Posted by kkaminski | with no comments

Recently I was deploying a Application Compatibility Toolkit’s Data Collection Package to some key workstations to look for application behaviour that may experience issues on their new Windows 7 platform. Our testing went great and we thought everything was good to go for production so the change request was put in and we released the DCP to our target group.

The next day some tickets rolled into the the helpdesk describing issues with McAfee host intrusion protection detecting changes with Office and my gut reaction was “oh sure, blame the change”. But I did know that this could be a possible issue because ACT may appear as malware as it monitors the endpoint environment.

I quickly did some searching on the net and found reference to McAfee’s KB article 59837. Essentially signature 432 needs to be disabled in order to work around the issue and should be re-enabled once DCP data collection is finished. Because the status of this issue may change over time I recommend checking into McAfee’s knowledge base for the latest information but hopefully this blog entry prevents some of you getting a little egg on your face when trying to deploy ACT.

Posted by kkaminski | with no comments

Normally I want to keep the content on this blog more on the technical side but before my days as an App-V MVP and even further back to when I first put myself on SoftGrid training out of my own pocket in 2003 I saw the potential ROI story with application virtualization. As I started to consult in this area and perform some large scale deployments of App-V both the client and myself could see the ROI story play out rather quickly with the technology. As you can probably guess I see application virtualization becoming a fairly standard application deployment mechanism for environments in the 1000+ seat size.

 

So rather than try to have you buy into my vision Microsoft is having a ROI Microsoft has a presentation around Forrester’s Total Economic Impact model and how it applies to App-V. This session will help you identify potential savings your environment could realize through App-V including the business needs it can satisfy. If you feel that this may be a session for you or the ammunition you might need to sway management use the link below to view the event page.

 

https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032453953&EventCategory=4&culture=en-US&CountryCode=US

Posted by kkaminski | with no comments

In an effort to aid the App-V community with sequencing guidance Microsoft launched the App-V sequencing forum yesterday. The goal of this area is to collect more App-V specific application sequencing guidance so that other users can reference and learn from other people’s experiences.

For example I put up recipe for Adobe Reader and for the most part Adobe Reader is a very easy application to sequence. But what I’ve seen most people do to turn off the auto updates they end up hacking the MSI to bits so that the feature never gets installed. In my recipe I utilize a more supported method by downloading a setup customization tool that easily configures the Adobe Reader installer to install with many options configured the way a systems administrator would prefer it to be.

I also tackled the Oracle 11G client even though most of you will probably not sequence just the client. The idea here was to give some idea as to best practice if you are using a TNSNames.ora file for service name resolution since that is a very common configuration of the client in sites I have been to. You’ll likely apply another application that uses Oracle to the same sequence or join the sequence with an application using DSC but at least you have a building block that will get you one step closer to your solution.

Take a look around and see the content currently available. If you think that you have found a sequencing solution that may benefit others open up the following post that you can use as a template for your recipe submission.

http://social.technet.microsoft.com/Forums/en-US/prescriptiveguidance/thread/ce5e2617-637a-4ab6-a6fe-f1ebe965709d

 

If you are only interested in browsing the current content use the following link to access the forum.

http://social.technet.microsoft.com/Forums/en-US/prescriptiveguidance/

Posted by kkaminski | with no comments

Today fellow App-V MVP Ruben Spruijt has posted online the Microsoft App-V volume format specification over on his site for download by the public. Thanks to Microsoft and reviewer (another App-V MVP) Tim Mangan the details around the black box known as the App-V volume can be properly understood.

For those of you who really want to know what all these strange file types such as the .fsd .fsg .pkg and .tmp files are used for you can probably find more than you wanted to know. The real purpose here is to help the App-V ecosystem by enabling 3rd party developers to design new tools for use with App-V. MVPs Tim Mangan and Kalle Saunamäki have already released tools to read the package volumes. Both tools below allow you to view the changes made to the virtual application environment and in the case of Kalle’s Application Virtualization Explorer you can modify the user’s virtual environment. In case you weren’t aware of these tools here are some links to get you started.

 

Overview of Application Virtualization Explorer (Commercial)

http://www.gridmetric.com/products/ave.html

 

Overview of PkgView (Free)

http://www.tmurgent.com/TmBlog/?p=166

 

You might be wondering what other tools we may expect on the horizon. Gene Ferioli over at Microsoft suggested that Antivirus vendors can finally develop the capability to scan and repair infections inside the virtual environment without the virtual application running. Other vendors may decide to develop troubleshooting tools that go beyond what is currently available today. Maybe some vendors will develop tools to inventory the contents of a virtual environment and provide better software inventory capabilities to your systems management solution.

Microsoft will have the documentation up on their site soon but if you are curious here’s your chance for a sneak peek. Just download, execute the EXE in the folder you wish to unpack it in and agree to the EULA.

http://virtuall.eu/download-document/microsoft-application-virtualization-volume-format-specification

Posted by kkaminski | with no comments

The reason I picked this error message as something to blog about is because I ran into a situation where this error code was a little bit misleading at face value. As a result more time was spent on this issue as we tried to isolate the root cause and resolve it. The funny thing about this error is that it can lead you on a bit of a goose chase as you try to fix your OSD task sequence if you don’t properly read your log.

 

At face value this error is nothing more than a simple problem with a package missing from a distribution point. The problem for me was that I was dealing with a bunch of issues straightening out the OS deployment piece where I was at so I wasn’t exactly trusting the infrastructure health. No matter what I did with the problem package the error would persist but if I recreated the problem package from scratch the error went away. Unfortunately once I fixed one package a new package became a problem. I then went about replacing all my packages until the task sequence started complaining about my installation source for the second time. At this point I knew I was in some sort of loop and recreating all my packages again wasn’t going to fix anything.

 

To make the situation even more confusing my 64-bit task sequence was using the problem packages without issue but my 32-bit task sequence was generating errors saying the content wasn’t available. At this point I was pulling out my hair trying to find out what the root cause of this mess was. Well it turned out the problem wasn’t SCCM but VMware Workstation. And to be fair it wasn’t VMware’s fault it was my mistake as to how I configured the virtual machines for imaging. So how could the VM configuration make such a big difference?

 

When I was reading my SMSTS.log it was very clear that package INI00027 wasn’t being found by the SCCM client environment.

image

 

But it wasn’t available for the usual reason which is usually missing files on the distribution point. When I looked at my only distribution point the files were happily waiting to be used. After another dive into the logs I realized that I wasn’t properly reading the SMSTS.log! If I look up a few lines I found the critical message.

image

My operating system deployment client thinks that the distribution point is not local and determines the package is not available which is a good behaviour. Most people wouldn’t want SCCM to deploy operating systems over a WAN link so this is why this is a default behaviour inside SCCM. So why it this virtual machine not appearing to be local to the distribution point? Easy, after looking at my virtual machine configurations in VMware Workstation I realized the mistake I had made configuring the virtual machines. The working 64-bit VM had its network interface set to bridged so it was getting an IP address off of the corporate network.

image

However the broken VM I had left the default of having the VM on a NATed network making the SCCM task sequence think the PC is not on a local network to the distribution point.

 image

You might not see the specific situation I’ve encountered but hopefully this sheds more light on the logging and another possible cause for this error code. Also look at this blog post for the more common situations which this error can occur.

http://brothertu.blogspot.com/2008/09/failed-to-resolve-selected-task.html

Posted by kkaminski | with no comments
Filed under: ,

Unfortunately that will not happen any time soon but I though I would make readers aware that some of my content has been translated by fellow App-V MVP Junxian (Tommy) Huang. Tommy was kind enough to select some of my content for translation so that it could reach a wider audience. For those of you that don’t know where Tommy blogs here is a list of links for you.

 

http://blogs.itecn.net/blogs/virtualtom
http://virtualtom.blog.51cto.com
http://bbs.winos.cn/thread-90753-1-1.html

Enjoy!

Posted by kkaminski | with no comments

I a few weeks ago I was putting in a new SCCM environment and we decided to try out the App-V 4.6 client since it was released that week. What we didn't expect was an issue deploying our first virtual application to our test PC. It just wouldn't deliver the virtual application so we had to look into the first logical spot for this configuration, the SCCM client logs. What we were trying to see is if SCCM was passing the virtual application over to the App-V client so that the App-V client can import it into the client cache, configure shortcuts, etc... My first stop was the SCCM client log usually associated with application delivery known as the execmgr.log. We opened the log and we thought we might have found the issue but the log suggested something we didn't expect.

Requesting content from CAS for package INI00003 version 1 execmgr 14/03/2010 8:07:33 PM 3988 (0x0F94)
Policy arrived for parent package INI00003 program [Virtual application] execmgr 14/03/2010 8:07:33 PM 4088 (0x0FF8)
Raising event:
[SMS_CodePage(437), SMS_LocaleID(1033)]
instance of SoftDistProgramOfferReceivedEvent
{
 AdvertisementId = "INI20000";
 ClientID = "GUID:7A4870CF-6F16-4E5C-9762-803620B7B3E8";
 DateTime = "20100315020733.678000+000";
 MachineName = "WIN7X32ENT-SEQ";
 ProcessID = 280;
 SiteCode = "INI";
 ThreadID = 4088;
};
 execmgr 14/03/2010 8:07:33 PM 4088 (0x0FF8)
Successfully created a content request handle {8FEDE91E-A80B-4506-BD8A-9A48E53C48F4} for the package INI00003 version 1 execmgr 14/03/2010 8:07:35 PM 3988 (0x0F94)
Program [Virtual application] change to state STATE_ADVANCED_DOWNLOAD content in progress execmgr 14/03/2010 8:07:35 PM 3988 (0x0F94)
Execution Request for package INI00003 program [Virtual application] state change from NotExist to AdvancedDownload execmgr 14/03/2010 8:07:35 PM 3988 (0x0F94)
Mandatory execution requested for program [Virtual application] and advertisement INI20000 execmgr 14/03/2010 8:07:35 PM 236 (0x00EC)
Creating mandatory request for advert INI20000, program [Virtual application], package INI00003 execmgr 14/03/2010 8:07:35 PM 236 (0x00EC)
Raising event:
[SMS_CodePage(437), SMS_LocaleID(1033)]
instance of SoftDistWaitingContentEvent
{
 AdvertisementId = "INI20000";
 ClientID = "GUID:7A4870CF-6F16-4E5C-9762-803620B7B3E8";
 DateTime = "20100315020735.381000+000";
 MachineName = "WIN7X32ENT-SEQ";
 PackageName = "INI00003";
 PackageVersion = "1";
 ProcessID = 280;
 ProgramName = "[Virtual application]";
 SiteCode = "INI";
 ThreadID = 236;
};
 execmgr 14/03/2010 8:07:35 PM 236 (0x00EC)
Successfully raised SoftDistWaitingContentEvent event for program [Virtual application] execmgr 14/03/2010 8:07:35 PM 236 (0x00EC)
Execution Request for package INI00003 program [Virtual application] state change from WaitingDependency to WaitingContent execmgr 14/03/2010 8:07:35 PM 236 (0x00EC)
Content is available for program [Virtual application]. execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
CExecutionRequest::Service Windows Manager has allowed us to run. execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Executing program {4E6A9B91-8BCA-4B06-A720-7485CE71BB9D} in Admin context execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Execution Request for package INI00003 program [Virtual application] state change from WaitingContent to NotifyExecution execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Execution Manager timer has been fired. execmgr 14/03/2010 8:07:37 PM 236 (0x00EC)
Checking content location C:\Windows\system32\CCM\Cache\INI00003.1.System for use execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Successfully selected content location C:\Windows\system32\CCM\Cache\INI00003.1.System execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Executing program as a virtual application registration. execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
SCCM package version number : 1. execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
CVirtualAppExecution::ExecuteProgram - The virtual application package was not registered because the SoftGrid client is not installed. execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
EnterRsRuningState failed to run script {4E6A9B91-8BCA-4B06-A720-7485CE71BB9D} 0x80008281 execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Fatal error 0x80008281 enountered for program [Virtual application]. This program will not retry. execmgr 14/03/2010 8:07:37 PM 2772 (0x0AD4)



We didn't expect to see the message "The virtual application package was not registered because the SoftGrid client is not installed." in the execmgr.log because we knew the App-V 4.6 client was installed. Just for fun we opened another SCCM client log file that involves the installation of virtual applications the VirtualApp.log.

 

Could not open the registry key SOFTWARE\Microsoft\SoftGrid\4.5\Client\Configuration. (0x80070002) VAppRegistration 14/03/2010 7:44:01 PM 3476 (0x0D94)
The VirtAppMgmt client was not found on this system or is an unsupported version. VAppRegistration 14/03/2010 7:44:01 PM 3476 (0x0D94)
CVAppRegistration::ConfigureVappClient() failed. (0x80008281) VAppRegistration 14/03/2010 7:44:01 PM 3476 (0x0D94)
Registering the virtual application package [INI00003] with the AppVirtMgmt client. VAppRegistration 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Loading package properties from the manifest file: C:\Windows\system32\CCM\Cache\INI00003.1.System\WinRAR-V3.91-WinRAR.001_manifest.xml. VAppRegistration 14/03/2010 8:07:37 PM 2772 (0x0AD4)
The installed AppVirtMgmt version [4.6] cannot be used with this version of SCCM. VAppRegistration 14/03/2010 8:07:37 PM 2772 (0x0AD4)
The VirtAppMgmt client was not found on this system or is an unsupported version. VAppRegistration 14/03/2010 8:07:37 PM 2772 (0x0AD4)
The package cannot be registered. The Application Virtualization Management client is not ready. VAppRegistration 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Raising event:
[SMS_CodePage(437), SMS_LocaleID(1033)]
instance of CLIMSG_VIRTUALAPP_ERROR_PACKAGEADD_FAILURE
{
 AdvertisementId = "INI20000";
 ClientID = "GUID:7A4870CF-6F16-4E5C-9762-803620B7B3E8";
 DateTime = "20100315020737.850000+000";
 ErrorCode = "";
 ErrorMessage = "The Application Virtualization Management client is not installed or is an unsupported version.";
 MachineName = "WIN7X32ENT-SEQ";
 PackageID = "INI00003";
 ProcessID = 280;
 SiteCode = "INI";
 ThreadID = 2772;
 VirtualAppPackageGUID = "{4E6A9B91-8BCA-4B06-A720-7485CE71BB9D}";
 VirtualAppPackageName = "WinRAR-V3.91-WinRAR.001";
};
 VAppRegistration 14/03/2010 8:07:37 PM 2772 (0x0AD4)
Raised ADD PACKAGE Registration Failure event for Ad: INI20000, PackageID: INI00003, Name: WinRAR-V3.91-WinRAR.001, PackageGUID: {4E6A9B91-8BCA-4B06-A720-7485CE71BB9D} VAppRegistration 14/03/2010 8:07:37 PM 2772 (0x0AD4)

The key message from the VirtualApp.log was the "The installed AppVirtMgmt version [4.6] cannot be used with this version of SCCM.", obviously we needed to upgrade our SCCM infrastructure from version 2007 R2 to 2007 R2 SP2! Aside from not doing our homework when installing App-V 4.6 this was a good exercise to understand the SCCM client logs involved with delivering an App-V application. This however is not the complete picture when looking at all the logs involved with App-V application delivery when it is integrated with SCCM. The client application event log and another log file called sftlog.txt can be used to specifically look at App-V client events. I hope that this at least gives you a basic picture when trying to troubleshoot your App-V application delivery in a SCCM integrated configuration.


Posted by kkaminski | with no comments
Filed under: ,

Introduction

With the availability of 64-bit operating systems from Microsoft many terminal server administrators and desktop super users have been trying to justify these platforms in their enterprise so that scalability enhancements found in these operating systems could be exploited. The problem with 64-bit platforms has been the adoption if the architecture by the industry resulting in a situation where many solutions taken for granted when using a 32-bit platform were not available for the 64-bit platform. A much sought after App-V feature for the terminal server administrator community has been a 64-bit App-V client because 32-bit terminal servers have user constraints around 40-60 users due to memory limitations. Some terminal server environments with 64-bit operating systems are boasting over 120 or more users per physical host but could not leverage App-V as part of their terminal server solution stack. Desktop administrators face a somewhat different scenario where some of their more resource intensive applications such as engineering applications are now being released as 64-bit releases and in one known case the only upgrade path for thre application is to upgrade to a 64-bit release.

It was a matter of time until App-V would need to support 64-bit operating systems and applications. Now that 4.6 is available you can plan to migrate that App-V environment over to 64-bit hosts to overcome memory constraints and see better scalability for both applications and terminal server environments. For those of you looking at a migration path from a 32-bit to 64-bit terminal server environment see the following white paper from Microsoft.


Terminal Services Scaling and Performance on x64-Based Versions of Windows Server 2003
http://www.microsoft.com/downloads/details.aspx?familyid=9B1A8518-D693-4BBB-9AF8-B91BBC0D2D55&displaylang=en

 


Making App-V 64-bit Capable

If it was an easy job to make App-V x64 capable it would have likely been introduced earlier but there are many technical requirements to make this a reality. The largest issue was going to be converting the kernel level components of the App-V client to 64-bit so that they could run on a 64-bit platform. Even though a 64-bit operating system can run a 32-bit application this is not true for applications that need to run in the kernel memory space. All code at the kernel level must be 64-bit, no exceptions. Much of the App-V client’s core functionality occurs down at the kernel level so this wasn’t going to be a quick walk in the park for the App-V development team.

Some of you who have some spare time may have noticed that not all off the App-V client is 64-bit. Some of these 32-bit components were necessary to properly handle 32-bit applications but in other instances 32-bit code was left in place such as the management interface. You might wonder why something like the management interface wouldn’t be converted to 64-bit like the rest of the client but unless there is a good architectural reason to do so it is perfectly ok to leave code compiled as 32-bit. This is not unique to App-V and probably will remain to be a practice with application development until 64-bit computing becomes even more dominant.

 

 

Sequencing with 4.6

Not only is App-V the only product that can package 64-bit virtual applications but App-V 4.6 has the ability to sequence both 32 and 64 bit application using the same sequencer tool. On top of that the sequencer tool has been streamlined so that the process is easier than before with earlier versions of the sequencer. In order to have a look at some of these new features let’s sequence a 64-bit edition of WinRAR on Windows Vista Enterprise Service Pack 2 x64 and deploy it on a Windows 7 Enterprise x64 machine using App-V 4.6. Do note that we are not implying some sort of application compatibility here but the econcomics of sequencing once and deploying to many using the least common denominator method. See the following support statement for more guidance. http://blogs.technet.com/appv/archive/2009/12/14/do-i-need-to-re-sequence-my-applications-when-i-move-to-a-new-os.aspx


1) Launch the application virtualization sequencer application.

 

2) As you can see creating a new sequence can be invoked from the main page. Select “Create Package” to start the sequencing wizard.

 

3) Type in a name for the package and click “Next” to continue.

 

4) Select “Begin Monitoring” to start the monitoring process.

 

 5) A dialogue will appear prompting you to create the asset folder on the Q:\ drive that should be in an 8.3 format. Unlike older versions of the sequencer you are forced to define this configuration item for the sequence ahead of time. You can select the Q:\ drive and then click “Make New Folder”.

 

6) Remember the best practice is not to exceed a folder name that goes beyond the 8.3 naming specification. In this example I named the folder "WinRAR.001".

  1. Select the WinRAR.001 folder.
  2. Click OK.

 

7) The sequencer should take a moment before it is ready to monitor the installation, once it is ready you can then launch the application installer.

 

8) To follow best practices change the Destination Folder for the install to “Q:\WinRAR.001”.

 

9) Select “OK”.

 

10) Select “Done”.

 

11)  As a matter of best practice you should launch the application at least twice to make sure the initial state of the application is the way you want your users to see it. Launch WinRAR.

 

12)  Close WinRAR but open and close WinRAR a second time.

 

13)  After WinRAR shuts down select “Stop Monitoring”.

 

14) Select “Next”.

 

15) This page will still let you define what shortcuts are available as well as modify file associations and shortcuts before you save your sequence. Since we won’t be making any changes, click “Next” to continue.

 

16) Since we did not configure feature block one on the previous screen we are presented with a warning. Click “Next” to continue.

 

17) Select “Yes” to complete the sequencing wizard.

 

18) Select “Finish” to close the sequencing wizard.

 

19) In the sequencer application perform the following.
1) Go to the “Deployment” tab. In order to publish my application.
2) Change the Protocol field to RTSP.
3) Edit the Hostname field will have the server name 46labms1.
4) Edit the path field to be WinRAR-V3.92B1-WinRAR.001.
5) And before I am finished with the tab I will add Windows 7 64-bit and Windows 2008 R2 Terminal Server 64-bit to the list of operating systems able to run the sequence. Remember this doesn’t necessarily mean the sequence with run on the additional operating system but we will attempt to test it on Windows 7 x64 but before we do we need to make it available for that operating system using the dialogue below.

Also note the “Generate Microsoft Windows Installer (MSI) Package checkbox below.  If you need to generate a MSI for application deployment it is as simple as checking off the checkbox. With the checkbox in the on position a MSI file will be generated along with the rest of the sequence files when you save the sequence.

 

20) Go to the “Package” menu and select “Save”.

 

21) What I like to do is save the sequence locally.

  1. Click the new folder icon.
  2. Rename the folder to WinRAR-V3-92B1-WinRAR.001.

 

22) Open the folder you created and name the file name WinRAR-V3-92B-WinRAR.001.


 

I’ll save you the step by step of publishing the application but as you can see I’ve launched the application sucessfully on Windows Vista Enterprise SP2 x64.

Now let's see if the same sequence works on on Windows 7 Enterprise x64.

 

And to take things a step further, let’s see WinRAR running on W2K8R2 in Terminal Server mode.

 

 

App-V Sequence Portability

The great thing with App-V 4.6 is the amount of sequence portability you can gain, many of your sequences that have been sequenced on 32-bit platforms should see portability much like what I have achieved with my 64-bit application. Specific to 64-bit environments items such as registry and file redirection that changed in Win7 and Server 2008 R2 can be successfully navigated using App-V. The key for maximum value with App-V is to sequence once and deploy to many. The following chart should help you understand the sequence compatibility matrix so you can get the most bang for your buck when moving to 4.6. (Yes, this means you don’t have to necessarily re-sequence everything)

In order to achieve the best economics you have to make a strategic call on what platforms to use for sequencing. The strategy that is commonly employed is called the lowest common denominator method where the oldest operating system in production is used as the primary platform for sequencing. I’m not going to go into too much detail because there is more at play with the design than just the least common denominator but it is the foundation of a sequencing environment. How does 64-bit play into this? I would say the textbook answer would be to use the 32-bit operating system as the least common denominator operating system but in the real world you may be able to use the 64-bit equivalent instead and get very high success rates with regard to sequence portability. But in the real world you will likely need a sequencing equivalent for each operating system that has been deployed because in some cases a matching sequencing platform is needed to resolve an issue you may be having where you cannot port a sequence from an older operating system to a newer one.

 

 

Conclusion

App-V 4.6 offers many new possibilities when it comes to application deployment on the desktop and terminal server environments. Because App-V can service both x86 and x64 environments effectively while the complexity and effort involved with deploying applications across different platforms is reduced resulting in savings for the organization. Being the only product that supports virtualization of 64-bit applications this opens the door on what used to be a major pain point for systems administrators. Now the management benefits of virtual applications can be extended to your 64-bit application portfolio and 64-bit hosts.

Posted by kkaminski | with no comments
Filed under: ,
More Posts Next page »