AppV 5 Package convertor

Because I cannot remember the AppV Sequencer PowerShell commands to convert a Softgrid (App-V 4.6 .sft) package to a App-V 5.x package (.appv). I dedicated to write it down at last, freed some memory for playing Commander Keen without using QEMM or whatever some cool memory management tool.

First import the cmdlet;

Import-Module AppVPkgConverter

Do the converthingy:

ConvertFrom-AppvLegacyPackage -SourcePath “C:\temp\v4_pkg” -DestinationPath “C:\temp\new_v5_pkg”

Btw Better use the 5.1 Sequencer or newer, because the AppVPkgConverter was updated in the 5.1 release. Also don’t try to convert older Softgrid 4.1/4.2/4.5 packages. First convert them to the 4.6 format using the App-V 4.6 Sequencer.

App-V Error: Cannot create file when that file already exists (2C-000000B7)

I needed to make an empty application, which calls an external batch file. No problem for the batch file, but you cannot create a sequence whithout shortcuts right?

So I sequenced the local notepad and changed FILENAME from NOTEPAD.EXE to CMD.EXE (with “/C” as parameter to hide the DOS Box).

PARAMETERS=”/C” FILENAME=”%CSIDL_SYSTEM%\cmd.exe”

When the shortcut was launched, the App-V client throws this error:

App-V Error: Cannot create file when that file already exists (2C-000000B7)

After changing the SUBSYSTEM from windows to console this error was solved.

UPDATE 23/03/2012

Using CMD.EXE with PARAMETER /C in de CODEBASE tag makes SFTTRAY.EXE to load my application multiple times! So I changed the design; I don’t use a PRE or POST LAUNCH script but places the batch file in de FILENAME property of the CODEBASE tag. This way the batch file is the application.

Old:

PARAMETERS=”/C” FILENAME=”%CSIDL_SYSTEM%\cmd.exe”

New:

FILENAME=”\\server\share\batchfile.cmd”

AppV Error 19-00001003 Error while waiting for the application to be ready to interact with the user

My colleague couldn’t get an App-V application launched properly.

The app throws the following error:

The Application Virtualization Client encountered a problem while waiting for the application to be ready to interact with the user.

Error code: 19-00001003

AppV - Error while waiting for the application to be ready to interact with the user

Because the app launches a VBScript we changed the SUBSYSTEM Value from windows to console, and the app launched like it should!

 <IMPLEMENTATION>
  
  <VM VALUE=”Win32″>
   <SUBSYSTEM VALUE=”console”/>
  </VM>
  
 </IMPLEMENTATION>

Sometimes you must change this setting in the OSD file yourself. Because the AppV Sequencer doesn’t know if a particular application is a Windows (value=windows) or a DOS (value=console) program.

 

AppV Error: 44-00001004 The app manager could not create an application

I just had an issue with an App-V shortcut not picked up by the client. In the SFTLOG.TXT file the following errors exist:

[xx/xx/2011 xx:24:42:784 OMGR ERR] {tid=C10:usr=xxx}

The Application Virtualization Client cannot use the OSD file specified because the GUID attribute for the CODEBASE element changed (rc xxxxxx04-00001004).

[xx/xx/2011 xx:24:42:799 SWAP WRN] {tid=C10:usr=xxx}

Could not load OSD file \\xxx\xxx\xxx.003\xxx.osd

[xx/xx/2011 xx:24:42:799 AMGR INF] {tid=C10:usr=xxx}

The app manager could not create an application from ‘\\xxx\xxx\xxx.003\xxx.osd’ (rc xxxxxx44-00001004).

According to the last log file entries this is a typical issue where the OS VALUE tag in the OSD file is missing. But this wasn’t the case because I cleared all OS VALUE’s from the OSD file.

My second thought was a legacy OSD file floating around the Softgrid cache. But after setting the State key to zero and rebooting the machine the issue still exists. But I kept walking this path, because the first log entry was about GUID attributes that has been changed (04-00001004). But especially because the issue started after performing an Active Upgrade of the sequence.

So I decided to clear all caches using these methods:

  • Removed the App-V user cache (%appdata%\SoftGrid Client)
  • Cleared the system cache again with the State key
  • Removed the registry folder from Microsoft\SoftGrid\4.5\Client\Applications\<ApplicationName>

Rebooted the machine and BAM, I got my long awaited shortcut! Probably a previous OSD version was floating around in the AppV User Cache.

App-V package slow first launch

We had serious performance issues with our sequenced Office 2010. First launch could take up to 6 minutes, while Feature Block 1 was only about 100MB!

Because only Office 2010 was having this slow first start (and autoload), we blame our sequence, the App-V infrastructure or the application itself. But neither of these were the cause of the problem.

What got our attention was the Network utilization, it only reaches 2%. While this wasn’t an issue at all with other App-V applications. Streaming other applications goes fast and uses up to 95% of the available network bandwidth. But Office 2010 was sequenced with the 4.6 RTM version of the Application Virtualization Sequencer. Most other applications were sequenced with App-V sequencer 4.5.

Since version 4.6 the blocksize is fixed at 64KB, there is no way to change this with the GUI sequencer.

I managed to change the blocksize with the trail version of SFT Encoder. Once the blocksize was changed from 64 to 32K, Office 2010 launches ten times faster! However this isn’t a permanent solution for the slow launch. We don’t want to convert all newly sequenced packages with SFT Encoder!

So the reason why only Office 2010 suffered form this slow first start was because it was the only large package sequenced with version 4.6. Other packages made with sequencer 4.6 where to small to notice the slow launch.

A colleague of mine changed the network card speed from 1GBit/Full Duplex to 100Mbit/Full Duplex. With this setting changed, packages created with sequencer 4.6 are streaming fast like it should.

Maybe it’s a networking issue (switches?), maybe a network card setting misconfiguration (teaming?) .. to be investigated. But at least our 4.6 sequences are streaming fast again!

Thanks to Madelinde Walraven for the help with this issue!

To be continued!

App-V error 0A-20000194 after server upgrade

After an App-V Server upgrade from Application Virtualization Server 4.5.1.15580 to 4.5.2.17140 we encountered the following error:

The Application Virtualization Client could not launch ApplicationName.

The package requested could not be found in the system data store or the files associated with this package could not be found on the server. Report the following error code to your System Administrator.

Error code: XXXXXX-XXXXXX0A-20000194

After some deep digging we (Ali) found out that the App-V Management Server Installer set the CONTENT_DIR back to the default value! As we don’t use the default content dir C:\Program Files\Microsoft System Center App Virt Management Server\App Virt Management Server\content we found our problem.

Solve this by manually change the registry key  SOFTGRID_CONTENT_DIR (in HKLM\SOFTWARE\Microsoft\SoftGrid\4.5\Server) to your current Content location (for example \\servername\contentdir).

App-V Error 04-0000041E

After sequencing OpenOffice 3.2.1 I encountered App-V error 04-0000041E when launching the application. With a delay of some minutes the application closes and App-V showed this error:

App-V Error  04-0000041E

The Application took to long to be ready to interact with the user, possibly because the system was too busy. Try again in a few minutes.

The SFT Tray freezes on “Launching OpenOffice ..”, and after a while the application closed with the above error. Its like App-V doesn’t see the OpenOffice suite was already launched successfully.

Launching App-V application

Solved by changing <SUBSYSTEM VALUE="windows"/> to <SUBSYSTEM VALUE="console"/>.

Softgrid: Clear the AppV cache

Many AppV client issue’s are solved by clearing the virtual application cache.  Also while troubleshooting sequenced applications whipping the cache is a common task.  Here are several possibilities to clear the Softgrid cache.

First, get a list of all AppV applications:

sftmime query obj:app /short

Remove all applications from the cache:

sftmime.exe remove obj:app /global /complete

Remove a specific application from the cache:

sftmime.exe remove app:”applicationName” /complete

 

Or if you need to wipe the complete cache, set the Registry State key to zero:

Changing the State key to zero, and reboot the machine. This will completely clear the file system cache.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\AppFS\

Clear the Softgrid AppV cache via the State registry key

Update: I had to clear the User Cache for a specific application only, let’s call it “MyApp v1.0”. Using some batch- and OSD-scripting I was getting there.

Batch-script (Softgrid_clear_userCache_myApp.cmd);

SET _Path=C:\Users\%username%\AppData\Roaming\SoftGrid Client\%appDir%

SET _logfile=%systemroot%\_SOMEFOLDER_\MyAPP_cleanup.log

:: ### CHECK ###

If exist “%_logfile%” goto SKIP

:: ### REMOVE MyApp USER CACHE ###

If exist “%_Path%” rd “%_Path%” /S /Q

echo MyApp v1.0 AppV user cache cleared >> “%_logfile%”

goto END

:SKIP

echo Script already did his job before, quitting ..

goto END

:END

echo End script

OSD-script (to launch the batch script);

<DEPENDENCY>

<SCRIPT EVENT=”LAUNCH” TIMING=”PRE” PROTECT=”FALSE” WAIT=”TRUE” TIMEOUT=”0″>

<SCRIPTBODY>

@CALL \\\\server\\contentShare\MyApp1.0\\Softgrid_clear_userCache_myApp.cmd \n

..

 

 

 

 

 

 

 

 

 

 

 

App-V Management Service (AppVirtServer) fails to start at Reboot.

When the SQL Server is on the same machine as the App-V Management Server (formerly known as the VAS Server), the App-V Management Server Service doesn’t start after a reboot.

Solve this by adding the MSSQLSERVER as dependency to App-V service in the registry. (Use MSSQL$SQLEXPRESS when using SQL Server Express edition). Name the new string DependOnService and value MSSQLSERVER or MSSQL$SQLEXPRESS  in the hive HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\AppVirtServer:

appvirt-dependonservice-mssqlserver_thumb[1]

 

To finalize, add a DWORD named DelayedAutostart with value 1 in the same hive:

appvirt-deplayedautostart_thumb[1]

Reboot the server, the Application Virtualization Management Server service should start (with a slight delay).

Softgrid/App-V: Inside the bubble

There are some ways to view inside the virtual Softgrid / App-V bubble.

1. First method is by editing the .OSD file, inside the <DEPENDENCY> tag add:

<SCRIPT EVENT="LAUNCH" TIMING="PRE" PROTECT="TRUE" WAIT="TRUE" TIMEOUT="">
<HREF>cmd.exe</HREF>
</SCRIPT>

2. Second way by using sfttray (starting from AppV version 4.5 you can use this method):

  • Get the ApplicationName:
    • sftmime /query obj:app /short -> gives you a list of all Softgrid applications on your client
      Or use the AppV Console (sftcmc.msc) instead, to get your applicationName and version.
  • Launch a DOS Box in the bubble:
    • sfttray /exe cmd.exe /launch “applicationName Version”

For example:

  • sfttray /EXE cmd.exe /launch “Notepad++ 5.4.2” -> launches a command prompt in the bubble
  • sfttray /exe cmd.exe /launch “SnagIt 5.0.2.0”

 

This way we can leave our OSD’s in production untouched!