Tag: app-v 5.1

  • App-V 5.1 misleading conversion warning (Scripts used during conversion included)

    During my last project I had the chance to convert about a hundred sequences from App-V 4.6 to App-V 5.1. I started out with a script to test if the sequences could be converted by using the Powershell cmdlet Test-AppvLegacyPackage and export the data to xml and then onto an html file. The html file proved to be a great source for reporting purposes. I am sure that the Powershell code can be a lot cleaner, but it suited my needs for the moment.

    Script used to test conversion readiness:


    $Source = "[Input Folder]"
    $Path = "[Temp Folder]"

    If (!(Test-Path $Dest ))
    {
    New-Item -Path $Dest -type directory -Force
    }
    else
    {
    Write-Host "Output Folder already present"
    }

    Get-ChildItem -Path $Source | ForEach-Object {Test-AppvLegacyPackage $_.FullName} | Export-Clixml -Path $Path\Conversion.xml
    pause
    $a = "

    "

    Import-Clixml -Path $Path\Conversion.xml | sort @{expression="Errors";Descending=$true},@{expression="Warnings";descending=$true} | Select-Object Source, Errors, Warnings, Information | convertto-html -head $a -body "< h 3 >Test-AppvLegacyPackage< / h 3 >" | Out-File $Path\Conversion.html

    * remove the spaces before, between and after h and 3 for the correct code.

    When I ran this script it generated a warning for two of the sequences reporting:

    The icon folder for this package is missing. This package will still convert successfully. However, there will be no icons associated with the applications.

    I first checked to see if the icons were in fact missing, but that was not the case. It turned out that the two sequences in question had no valid shortcut entry in the osd file. The osd file just had this entry:

    In App-V 4.6 when an osd file is present without a shortcut entry it is still possible to create an application publication in a user environment tool like RESOne Workspace Manager. In App-V 5.1 the same situation will not result in an application publication in RESOne Workspace Manager because no AppV.Shortcut entry is taken into the xml files. So the solution is quite easy. Just paste in a valid shortcut in the osd file for the warning to disappear and to create a valid AppV.Shortcut entry in App-V 5 xml files.

    Example to create an Orca shortcut entry in the osd file:




    After this change the sequences would no longer generate a warning while tested for conversion readiness and later on were successfully converted and technically tested. Below you will find the script I used to convert the sequences:


    $Source = "[Input Folder]"
    $Dest = "[Output Folder]"

    Get-ChildItem -Path $Source | Test-AppvLegacyPackage | Where-Object {$_.Errors.Count -eq 0 } | Select-Object * , @{n='SourcePath';e={$_.source}} | ConvertFrom-AppvLegacyPackage -DestinationPath $Dest

    $Packages = Get-ChildItem -Path $Dest -Filter "*.appv*"

    foreach ($Package in $Packages) {
    $Name = $Package.Name.substring(0,($Package.Name.length - 5))
    $PackageItems = Get-ChildItem -Path $Dest -Filter "$Name*"
    New-Item -Path $Dest\$Name -Type Directory
    For ($n=0; $n -le $PackageItems.Count -1; $n++) {Move-Item $PackageItems[$n].FullName $Dest\$Name}
    }

    This basically is the script that Aaron Parker posted on his website a long time ago with the addition of information of another blog post that I found. The addition is needed because in the latest versions the Powershell cmdlet expects other output from the previous cmdlet (SourcePath instead of Source).

  • Making Oracle SQL Developer with external Java JDK work on App-V 5.1

    I recently completed a project to convert App-V 4.6 sequences to App-V 5.1 sequences. One of these sequences was Oracle SQL Developer. During technical testing of Oracle SQL Developer I would receive an error stating:

    Unable to create an instance of the java virtual machine located at path c:\program files\java\jdk1.7.0_55\jre\bin\client\jvm.dll

    At the same time a co-worker had the exact same error at his customer with a converted sequence of Oracle SQL Developer. After a short search on Google I found a blog post that helped me to make the Oracle SQL Developer sequence work on the client. Just remember that not all information might be relevant for your problem, because the co-workers project demanded the  Java JDK 1.7.0_55 to be installed and used by Oracle SQL Developer. The steps to get to a solution might therefor be somewhat different.

    Steps to fix Oracle SQL Developer on App-V 5.1:

    1. Start the sequencer with the parameter -EnablePVADControl
    2. Set the PVAD to C:\sqldeveloper (if you are going to copy the Oracle SQL Developer to that location, otherwise pick the proper location)
    3. Install the Java JDK to a subfolder of C:\sqldeveloper (or the correct location)
    4. Copy the source files for the Oracle SQL Developer to C:\sqldeveloper (or the correct location)
    5. Start the application
    6. Insert Java JDK path (I installed it to C:\sqldeveloper\Java\jdk1.7.0_55)
    7. Depending on your way of sequencing (cleaning %AppData% from the sequence or not) you either have to edit the file %AppData%\sqldeveloper\1.0.0.0.0\product.conf during monitoring or in your user environment tool. Change the line AddVMOption -Xmx800m to AddVMOption -Xmx256m. Be sure to edit the correct line because there is also a AddVMOption –Xms128m line present.
    8. Stop monitoring
    9. Optionally clean the sequence of unwanted files and registry entries
    10. Save the sequence
    11. Test the sequence on the client

    A message about an available update might pop up. I must admit that I haven’t put effort yet in finding out how to disable updates in Oracle SQL Developer.

    A big thanks goes out to Hosam Kamel for his blog post (http://weblogs.asp.net/hosamkamel/resolving-unable-to-create-an-instance-of-the-java-virtual-machine-error) and the reactions on that blog that pointed me to the proper solution.

    I will also let Timothy Mangan know there is one more application to be added to the list of application needing a proper PVAD instead of a dummy. You can find the list of applications needing a PVAD here.