Featured Posts

SolidWorks Explorer 2012–Sequence Preparation Install SolidWorks Explorer 2012 natively - once installed, export the following registry; HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesFLEXnet Licensing Service Sequence Installation Install...

Readmore

App-V 4.6 SP1 Sequencer and Long Package Names After running into an issue when testing the App-V 4.6 SP1 Hotfix 3 sequencer to provide two Mozilla-programs; Thunderbird and Firefox – an minor investigation came into play to locate the part of everything...

Readmore

App-V 5 beta–Other blog posts Not excited enough yet? Some other people have written about it aswell – continue reading!Introducing User Experience Virtualization (UE-V) and App-V 5.0 App-V 5.0 Beta released, what’s new/different?...

Readmore

Include patches in a single run PATCH property of the Windows Installer engine which arrived with the Windows Installer 4.0 release. Its quite useful during an initial deployment incase you maintain all files in their original state,...

Readmore

  • Prev
  • Next

Setup a VM for packaging

Posted on : 14-05-2012 | By : nickekallen | In : App-V, Deployment

0

1. Install Windows 7 that corresponds to your environment (Pro N x86 is my edition)

2. Disable User Account Control

3. Disable System Protection

4. Run Quest vWorkspace Desktop Optimizer

5. Install .NET Framework 4.0

6. Install prerequisites;


Visual C++ 2005
VC++ 2005 SP1
VC++ 2005 SP1 ATL security update
VC++ 2005 SP1 MFC security update
VC++ 2008
VC++ 2008 SP1
VC++ 2008 SP1 with ATL security update
VC++ 2008 SP1 MFC security update
VC++ 2010 SP1
Visual J# 2.0
VS 2010 F# 2.0 SP1

7. Set keyboard layout

8. Ensure VMware Tools are updated

9. Disable all power-settings

10. Run MSCONFIG and disable GUI of boot

11. Remove any excess hardware (floppy-drive, usb-devices)

12. Create shortcuts to any mapped drives / source-folders on the desktop

13. Show all icons in the system tray

14. Run Windows Update (might need to re-enable the service)

15. Activiate Windows

App-V and .appv

Posted on : 07-05-2012 | By : nickekallen | In : App-V

Tags:

0

So, you created a package and wanted to discover what was in it. One way to peak inside of a package – is to simply rename the binary-file from .appv to .zip.

Is it supported? Probably not

What happens if you do it?

You can see the contents;

image

If you copy the registry.dat file outside and open regedit and choose the following menu;

image

Select the file and name the hive (something that makes sense) – you will then see the following;

image

The hive in question is HKEY_LOCAL_MACHINE and APPV (which is what was chosen as name).

What does this mean? Well… You can see the files and the registry parts of a package. But is this supported? Lets divide it into a few different parts;

1. Make a copy of the package – rename it to .zip and mount the .DAT-file into the registry. Seems OK

2. Rename the original file to .zip and then rename it back to .appv.
Seems unlikely to be ok

3. Rename the original file to .zip, make changes to the registry and / or file-structure and then rename it back to .appv
Seems likely to be your-way-out-of-support-scenario

4. Does it seem like a lot more work then Application Virtualization Explorer?
YES!

App-V 5 and OS integration

Posted on : 30-04-2012 | By : nickekallen | In : App-V

Tags:

3

One of the new features that App-V 5 brings to the table is the possibility to more seamlessly integrate to the operating system. But, what does that mean in practice?

Well, if you sequence Mozilla Thunderbird – the following things show up…

Protocol Handlers;

image

Default Program Handlers;

image

This means that if you click a link like this;

image

A new mail will be presented;

image

(guessing that the empty subject / to-field relates to beta-code Smile )

If you sequence InstEd – more things will be available on the right-click of MSI-files that previously wasn’t there see the Instead It! menu-option)

image

 

Of course there are many more features to come – but Application Virtualization just took a major step forward in bringing a native application experience.

Config Mgr 2012 and App-V

Posted on : 23-04-2012 | By : nickekallen | In : App-V

Tags: ,

2

Previously when using App-V and leveraging the infrastructure of SCCM 2007 and the integration of the App-V you were “limited” to using anything from Configuration Manager. In itself – this wasn’t all that bad, but any type of migration scenario were very much dreaded and the enabling or disabling of the integration was a big on-off switch – that dropped anything previously distributed to App-V Client and took over the control of the client. Configuration Manager 2012 has come a long ways and especially when migrating between different scenarios – it isn’t as controlling in some scenarios.

First – a few notes; There isn’t any configuration on the Configuration Manager 2012 infrastructure or client that enables or disables any functionality. By default – its capable of integration with App-V and will do so without any particular tasks required to be performed by the administrator. Reviewing a previously installed App-V Client that has one single application distributed gives us the following views;

(registry configuration to start an application)

image

(one application distributed using stand-alone method)

image

Even though this wasn’t part of the experiments conducted today – any Publishing Servers should be removed once the client controlled by Configuration Manager 2012. Not only once – but it should continuously be removed in the future.

After installing Configuration Manager client, adding applications and creating new deployment (that didn’t require the install – so we could control the time of installation) for our device – the above registry keys didn’t change. Once we initiated the deployment and installed the App-V package – the registry keys switched to the below;image

Interesting part is that the old application is still there and will still start (as opposed to using the integration with Configuration Manager 2007 – where it would not start). What was rather surprising though – is that even though all three applications are started, the one not distributed via Configuration Manager 2012 will never say that it is In Use.

image

App-V and Process Monitor

Posted on : 16-04-2012 | By : nickekallen | In : App-V

Tags:

0

The number one tool in troubleshooting applications has been and still is Process Monitor – providing great insight into everything that happens in the background of an application. However, when combining App-V and Process Monitor – there are some challenges to see the entire background activity – especially when it comes to registry activity. For quite some time there has been things that haven’t been properly shown when troubleshooting using Process Monitor and attempting to view the activity within the registry for a virtual application.

Process Monitor does present us with quite a few different ways of starting – lets explore the possibilites;

image

Obviously – we could just start it and see what it spits out. Looking through the possible start-up switches presents quite a few different ways of starting procmon. For our specific scenario – the /hookregistry looks mighty tempting, but it states that it only works on x86 Vista. The announcement for the feature were on the Softgrid-blog and was a first turning point after Microsoft acquired Softricity.

This is only whats documented and if looking around the internet – we can find one additional method of troubleshooting App-V. /externalcapture is a more commonly known startup switch, but its not documented (as you can see above) and apart from some presentations by Microsoft and unofficial blog-entries – there isn’t a whole lot formally written down about this gem.

Key question – whats the best method of using Process Monitor to troubleshoot App-V applications?

Well – lets find out;
A specific application is selected – mainly because its small, it does access the virtual registry when it starts and hopefully we can understand the difference between these behaviors. A filter is applied to only include the process in question (opwin.exe) and all the tests are preformed on a Windows 7 SP1 x86 machine.

Test 1
procmon.exe
image
Result is 265 items in total

Test 2
procmon.exe /hookregistry
image
Result is 265 items in total

Test 3
procmon.exe /externalcapture
image
Result is 322 items in total

So – we can clearly see that /externalcapture provides more registry output than the other possible options. What is the difference?

Procmon.exe /externalcapture shows us quite a few entries that are not at all visible from all the other options we used – especially the below are never shown at all when using the startup switches from the first two test cases.

image

App-V and Appsense Application Manager

Posted on : 09-04-2012 | By : nickekallen | In : App-V

Tags: ,

0

First, an apology is in place for the below screenshot. It is from an e-mail from a customer that had issues with a simple BAT-file executing and then producing the below result in their production environment (horrible quality). The below error is completely undocumented and never seen before error – initial thought was that it related to an obscure exit code from the BAT-file, however some great findings from a fellow project member Micah did show a different path.

The environment were based on Xenapp 6 with Appsense Application Manager and Environment Manager running in the background – this was essentially giving us at least 4 different technologies hooking into processes and therefore all beeing part of a potential issue with the application.

image

On a few particular servers the application did work though and a key difference were identified (not by meSmile ) – it related to configuration of Appsense Application Manager and effectively excluded the App-V processes from having hooks from it.

HKLM\Software\AppSense Technologies\Application Manager\Engineering\
AppHookEx (REG_SZ) with the value; sfttray.exe;sftdcc.exe

Applying the above to the production environment resolved the problem and gave a few hints to us that this could be a potential problem area for other technologies aswell – here is a thread on a similar topic within the Citrix-forums;
Problems launching streamed .BAT

App-V 5 beta–Other blog posts

Posted on : 06-04-2012 | By : nickekallen | In : App-V

Tags:

1

Not excited enough yet? Some other people have written about it aswell – continue reading!
Introducing User Experience Virtualization (UE-V) and App-V 5.0

App-V 5.0 Beta released, what’s new/different?

Beta for App-V 5.0

Breaking into the new APP-V 5.0 APPV format

App-V 5.0 Beta: What happened to the OSDs?

App-V 5.0 Beta: The End of CSIDLs

APP-V 5.0 Beta Sequencing Review

APP-V 5.0 Client at a Glimpse

App-V 5.0 officially announced (with beta!)

Migrating packages from App-V 4.x to App-V 5.0

AppV 5.0: The 10GB Package

Don’t let App-V 5.0 derail your migration project: A strategic assessment of the impact of App-V 5.0 on your migration project

App-V 5.0 Beta, out now.

App-V 5.0: Add publishing server.

App-V 5.0: Where did my logs go?

App-V 5 Beta and Shortcuts – the case of the missing (& added) arguments

App-v beta 5

Powershell: Get command definition

App-V 5.0 der Knoten ist geplatzt

App-V 5.0 und UE-V Public Beta ist gestartet

Microsoft updates desktop virtualization line-up with App-V 5, User Experience Virtualization

App-v beta 5

Thought on App-V 5.0 Beta: Don’t stop your Windows 7 Migration

App-V 5.0 Sequencer – Sequencen und das Ergebnis

App-V 5.0 Beta veröffentlicht

Howto: Increase the Update Speed for Application Changes

Use App-V 5 Beta Publishing and Management Server with a Remote Database

TechNet Virtual Lab: MDOP: Microsoft Application Virtualization (App-V) 5.0 Overview

App-V 5 Beta Component Communication Overview

Updated Microsoft App-V File Specification

Walking through the App-V 5.0 Beta Server Setup (Part 1)

App-V 5 Beta Basic Troubleshooting

App-V 5.0 (Beta1) Shortcut Editing Tricks

App-V version 5.0 Beta

App-V 5 beta–features

Posted on : 06-04-2012 | By : nickekallen | In : App-V

Tags:

1

Here comes a low-down of what we hope to expect!

Rewritten architecture to support the following;
Higher level of integration with the operating system and other applications, support things like;
Shortcuts
File Type Associations
Protocol Handlers
AppPaths
JumpLists
Com-objects

Not yet verified; Integration with default application handlers?
Shell Extensions?

A “working” shared cache-mode – easy to setup, easy to maintain – one-click and you are good to go!
Granular configuration of package – provide different users with different configurations
Per-machine configuration possibilities
Increased scripting possibilities to allow per-machine and per-user scripting
Easy to install client and to configure client (that has been a major problem)
Side-by-side migration from previous version of App-V
Converter of packages to support the new format of App-V
New openly available format – just rename it to .ZIP to view the contents
Powershell-support to administrate the entire environment
Connection Groups – DSC, however working!

The server
Its still alive? Apparently. Sighs… Apparently people like this. Well – it can´t be anything worse than what the previous one was. Does it distribute all types of packages (MSI, scripts, customer installers, virtualized applications)? No
Do I want it then? No
Sorry – I am not to excited about this part

What did they drop?
Windows XP support

App-V 5 beta– behind the scenes

Posted on : 06-04-2012 | By : nickekallen | In : App-V

Tags:

0

This is what it looks like – no more Softgrid!

These are prerequisites that aren’t installed by the installer, but still required;
.NET Framework 3.5
.NET Framework 4.0
Windows Hotfix; http://support.microsoft.com/kb/2533623
These are prequisites that are installed by the installer, and required;
Visual C++ 2005
Visual C++ 2008
Visual C++ 2010

My general recommendation has always been to deploy .NET Framework natively along with all versions of Visual C++ (ALL – I can not stress this enough – ALL VERSIONS. Every RTM, SP and FIX!) aswell as J# and F#. App-V 5 continues this race and to be prepared for a future upgrade – get these prerequisites out right now. They will not only assist in the upgrade of the App-V Client, but will assist you in the deployment of applications – natively installed as well as virtualized ones.

Reviewing the documentation for install switches that might reveal features that are interesting looks aswell;
/AUTOLOAD – streaming will stick around.
/SHAREDCONTENTSTOREMODE – shared cache will become less of a hassle to setup.
/MIGRATIONMODE – we can do a side-by-side migration of App-V 4.X and 5.0
/ENABLEPACKAGESCRIPTS – Running scripts are not enabled by default – enable it at install time!

 

Now the registry has no more references to Softgrid – it is all about App-Vimage

To enable scripts – we are simply talking about a registry key! You can se this option via powershell or at install time using the previously mentioned switch. image

Migration Mode – will allow App-V 5 to take over previously own App-V 4.X associations / shortcuts ! It is required that you will have the RTM-version of 4.6 SP2 for this to be supported. image

It seems that the client is all prepared for Windows 8 and Internet Explorer 10!image

 

The Q: drive is no longer and instead all the content is stored in the clear – allows for much more integration to the OS and will move App-V into the next gear of application virtualization;

image

Shared cache? Oh boy! (from the docs);
To configure the App-V 5.0 Beta client to operate in shared content store mode, set HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\Streaming\SharedContentStoreMode=1 and restart the computer running the App-V 5.0 Beta client.

The shared cache can be setup on deployment time using a switch for the installer – easy! What happens? When you enable this – it simply means that all the data for an application will not persist on disk. Compared to the old days of shared cache – this will be a breeze to maintain as we are working directly of the network. It does require network connectivity though – which all our clients that want to leverage shared will have, right?

App-V 5 beta Config Files–User Config

Posted on : 06-04-2012 | By : nickekallen | In : Uncategorized

0

Lets continue with the details of the User Configuration-files!

Most of the pre-generated content of the file has been removed – the scripting part is what this post will  mostly deal with! Now we can deploy a per-user configuration – which will allow us to configure all options and deploy a package with a different configuration for a set of users! As opposed to the one common OSD-file, we can now have a single package and create several different sets of configuration files for different user groups. Shortcuts, protocol handlers, Apppaths, FTAs, scripts, COM-isolation – can now all be configured with different configuration for any per-machine deployment and per-user deployment! There we rarely need to clean-up the shortcuts in a package, but can rather do a post-packaging clean-up on whats get published on a client using a configuration file!

See the sample script that has been automatically generated from the App-V 5 beta – we can initiate quite a few different options and hopefully this can provide an even more valuable asset when it comes to setup our applications environment!

    <!– User Scripts Example – customize and uncomment to use user scripts –>
  <!–
     
    <UserScripts>
      <StartProcess RunInVirtualEnvironment=”true”>
        <Path>VFS\ProgramFilesX86\App\dosomething.exe</Path>
        <Arguments>-WithArgs</Arguments>
        <Wait RollbackOnError=”true”/>
        <ApplicationId>[{AppVPackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId>
      </StartProcess>
      <ExitProcess>
        <Path>VFS\ProgramFilesX86\App\UnDoSomething.exe</Path>
        <Arguments>-WithArgs</Arguments>
        <Wait RollbackOnError=”false”/>
        <ApplicationId>[{AppVPackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId>
      </ExitProcess>
     
      <StartVirtualEnvironment  RunInVirtualEnvironment=”true”>
        <Path>[{AppVPackageRoot}]\VFS\ProgramFilesX86\App\DoSomething.exe</Path>
        <Arguments>-WithArgs</Arguments>
        <Wait RollbackOnError=”true”/>
      </StartVirtualEnvironment>
   
      <TerminateVirtualEnvironment>
        <Path>[{AppVPackageRoot}]\VFS\ProgramFilesX86\App\UnDoSomething.exe</Path>
        <Arguments>-WithArgs</Arguments>
      <Wait RollbackOnError=”false”/>
      </TerminateVirtualEnvironment>
      <PublishPackage>
        <Path>\\server\share\foobar.exe</Path>
        <Arguments>-WithArgs</Arguments>
        <Wait RollbackOnError=”true” Timeout=”30″/>
      </PublishPackage>
      <UnpublishPackage>
        <Path>\\server\share\barfoo.exe</Path>
        <Arguments>-WithArgs</Arguments>
        <Wait RollbackOnError=”false” Timeout=”30″/>
      </UnpublishPackage>
    </UserScripts>
   
    –>
</UserConfiguration>