Monday 19 September 2011

Some things I have learned about the Application Virtualization Sequencer V4.6 SP1


If an applications interface with the system like a driver
extract the problem component include on golden image or use OSD scripting to deploy it with the app


Some apps use non virtualized extensibility points
Shell extentions and plug-ins
To fix this use DSC to link applications together so they can see each other in the run time environment

Embeded state or dependencies
Applications embed paths to resources in binary so sequencer can't find it
Make sure to install to the Q drive and follow appv best practices

One app that has these problems is netmon from MS


8.3 names are no longer needed in the new sequencer 4.6 sp1
Creating the primary feature block happens at the prepare for streaming section (not like at the first run in 4.5)

When should you compress a package. If you are streaming the package and there is a low bandwidth network then you should compress the package. Also if you package is approaching the 4GB size limitation then you need to compress it. Some MS engineers always compress packages.The package will only be decompressed at first run on the client side.

The standard way to trouble shoot app v is to use procmon while the application is starting up and observe what it is trying to access. There is also diagnostics in the sequencer. The first point of call should be the excluded files list in the sequencer. Report.xml is outputed with your package. If we identify a file that should have been included we need to go back and re-sequence the application but this time remove the files from the exclusion list.

A driver may have been detected when the app was installed. You will be provided with a location. Often in the registry. So if we need to include a driver that cannot be virtualized we need to extract that driver. Then include on our golden image or deploy it with the package using OSD scripting.

Sequencer will detect pending reboots. Defrag and SMS service can really interfere with the sequencer. Turn off indexing. 4.6SP1 will also remind you that you need to revert the VM if using hyper-v.

Installation report will tell you about:
excluded files
Drivers
COM+
System differences
SxS Conflicts
Shell Extensions


Dynamic Suite Composition
We can link packages so they can see each other in the their virtual bubble. Normally appv'd apps are isolated from each other. You need to decide what route is right for you. You may want to bundle java with several apps. Alternativly you may want to update java regularly so virtualizing java once seperatly and linking it to many apps might be better.
The steps are:
Sequence App1 (Package Files)
Revert VM
Expand app1 (de-virtualize)
Sequence Plug-in (Plugin files)
Link dependencies between app1 and plugin

To expand a package in the sequencer you would select expand package to local system. Select your package and click open. The page will now be expanded.

Start another sequencing job (you'll be warned that the dsc tool is running its ok to leave this open). Choose Add-on or plug-in. Browse to your plug-in (Java or SaveasPDFandXPS). Now you will be ased to browse to the parent program. If this was MS word you would need to select winword.exe on the Q drive. Give a name for the package. Finish the install as normal and create the package.

Now we have our app and our plugin. Now you need to set the depencies. Start up DSC.Select the package roots. Add folder for office and the plugin. Select the primary package in this case office. Add the plugin as the secondard. Click "Save". The tool will go into the OSD and set the secondary as a dependency of the primary package.

Package Accelerators
Are the barebones of a virtualized package. You just need to provide the binaries (install media). Your install media + the package accelerator get input into the sequencer to produce. The complete package.

Start the sequencer, choose the second option "Create a Package Using a Package Accelerator" browse to the package accelerator which you have downloaded. Its a cab file so you can look inside it if you want. The sequencer will check if it has been digitally signed. If not you will get a warning. Its probably a good idea only to use Package accelerators from microsoft. Specify the installation files. And create to create your virtualized application. You can configure the application to provide licencing information (it will launch the app in monitoring mode) Thats basically it.

For complicated apps like office creative suite or autocad package accelerators can save you a lot of time. MS spends alot of time testing them. You can create your own package accelerators for relieable re-sequencing.

No comments:

Post a Comment