Quicky post on a common App-V error code.
If you've gotten to the point where you can view the sftlog (C:\ProgramData\Microsoft\Application Virtualization Client\sftlog.txt) and see this entry then most likely the problem is with the CODEBASE line, specifically the HREF element. Make sure it is set tot he right protocol (FILE, RTSP, RTSPS, HTTP or HTTPS), the right server (either %SFT_SOFTGRIDSERVER% or the hardcoded servername) and the correct port (80, 322, 554 etc.).
Since most of the old bugs are patched the most common cause I've seen for this is having a special character in the package name. For instance:
Notepad++ 4
C++ 2008 x86 SP1
etc. etc.
It is important to note that the sequencer will not save you from yourself. If it isn't a letter, number or period (.), don't use it. It will save you a lot of trouble in the long run.
A powershell script to suite two applications in the local OSD cache, for testing interaction and hotfixing a user if need be. At some point I may update it to accept arguments.
$offcGuid = "22C76228-3DF0-48DD-853C-77FDC955CC86"
$sPath = "RTSPS://%SFT_SOFTGRIDSERVER%:322/Power Pivot for Excel.sft"
$sGuid = "F5B20FA7-E437-4E03-885B-3D5B67F3DC22"
$sParam = ""
$sFile = "%CSIDL_PROGRAM_FILES%\Microsoft Analysis Services\AS Excel Client\10\Microsoft.AnalysisServices.AtomLauncher.exe"
$sGuard = "POWPIVOT.1\osguard.cp"
$sSize = "323267785"
$sMand = "FALSE"
$path = "C:\ProgramData\Microsoft\Application Virtualization Client\SoftGrid Client\OSD Cache\"
$dir = Get-ChildItem $path
$list = $dir | where {$_.extension -eq ".osd"}
foreach ($i in $list)
{
[xml] $xml = gc ($path + $i)
if($xml.SOFTPKG.IMPLEMENTATION.CODEBASE.GUID -eq $offcGuid)
{
$final = ($path + $i)
[xml] $excel = gc $final
$newitem = $excel.CreateElement("CODEBASE")
$newitem.SetAttribute("HREF", $sPath)
$newitem.SetAttribute("GUID", $sGuid)
$newitem.SetAttribute("PARAMETERS", $sParam)
$newitem.SetAttribute("FILENAME", $sFile)
$newitem.SetAttribute("SYSGUARDFILE", $sGuard)
$newitem.SetAttribute("SIZE", $sSize)
$newitem.SetAttribute("MANDATORY", $sMand)
$excel.SOFTPKG.IMPLEMENTATION.VIRTUALENV.DEPENDENCIES.AppendChild($newitem)
$excel.Save($final)
}
}
PS Kill:
Stop-Process -processname notepad.exe
PS List:
Get-Process * | sort ProcessName
There are a few possible problems here but I find the most common is that the OSD is not pointing to either the right location, deployment method, or both.
Check the OSD's (or go in via the Sequencer if you wish, but that will typically generate a new version of the .sft, though I haven't tried in 4.6SP1, maybe that was one of the two things they got right) to ensure the correct method and location are specified.
Remember that typically speaking it will be something like:
":<port>/<appsubfolder>/<pathtosft>"
And seldom if ever:
":<port>/<pathtosft>"
Retrieving and setting Environment variables in Powershell.
Get:
.\ Get-ChildItem Env:
$Env:Temp
Set:
Process Level:
$Env:TEMP = "C:\Windows\Temp"
User/Machine Level:
[Environment]::SetEnvironmentVariable("Temp", "Test value.", "User")
Environment]::SetEnvironmentVariable("Temp", "Test value.", "Machine")
Delete:
[Environment]::SetEnvironmentVariable("Temp", $null, "User")