Me
and my small team of application packagers recently implemented a new function
in our in-house tool for automatic documentation of our AppV Packages after we
had sequenced them.
This
was done because when we started working with AppV and Altiris(ITMS) this was
done semi manual, so it would almost always end up with some left out stuff.
First
we tried doing it with pictures, but that would almost certainly become too
time consuming and boring and it would not suit a simple txt file.
So we ended up with the following template:
-----------------------------------------------------------------------------------------
Documentation
for App-V-Sequenced application: #NA
Documentation
created: #TID
Installation
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Sequenced
on #OS system with App-V Sequencer version: #SEQV
Sequenced
created:#SEQTID
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Appvname:#NA
Version:#VE
PackageID=#PID
VersionID=#VID
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
-----------------------------------------------------
Prerequirements
before Sequencing:
-----------------------------------------------------
#PRE_DOC
-----------------------------------------------------
Sequence
Install with the following parameters:
-----------------------------------------------------
#SEQUENCE_DOC
-----------------------------------------------------
Package
information:
-----------------------------------------------------
#SCRIPT
#DELADD
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Altiris
detection rules:
-
PublishPackage:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\COMPANY\AppV\#NA
PublishPackage=#VE/#PID/#VID
-
AddPackage:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\COMPANY\AppV\#NA
AddPackage=#VE/#PID/#VID
_____________________________________________________________________
Install
commandline (COMPLETE,ADD&PUBLISH&MOUNT):
powershell.exe
"Add-AppvClientPackage -Path '#APPV.appv' | Publish-AppvClientPackage
–Global | Mount-AppvClientPackage"
AddPackage
commandline (ADD&MOUNT):
powershell.exe
"Add-AppvClientPackage -Path '#APPV.appv' | Mount-AppvClientPackage"
PublishPackage
commandline (PUBLISH&MOUNT):
powershell.exe
"Publish-AppvClientPackage -Name '#NA' –Global | Mount-AppvClientPackage"
Uninstall
commandline (COMPLETE,UNPUBLISH&REMOVE):
powershell.exe
"Unpublish-AppvClientPackage -Name '#NA' -Global |
Remove-AppVClientPackage"
UnpublishPackage
commandline (UNPUBLISH):
powershell.exe
"Unpublish-AppvClientPackage -Name '#NA' -Global"
Using this template we read through the internal xml files using our own powershell scripts and fill out all the # fields with the relevant documentation.
It then become like this for the Foxit package:
Documentation
for App-V-Sequenced application: FoxitPhantomPDF
Documentaion
created: 27.06.2018 16:44
Installation
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Sequenced
on Windows Version:6.1.7601.65536 system with App-V Sequencer version: 5.1.123.0
Sequenced
created:01.08.2017 07:21:10
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Appvnavn:FoxitPhantomPDF
Version:0.0.0.1
PackageID=9794e43f-e287-434b-bcab-d10494ec6166
VersionID=a5864f56-1914-4b7d-8b90-9100b63454f3
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
-----------------------------------------------------
Prerequirements
before Sequencing:
-----------------------------------------------------
-----------------------------------------------------
Sequence
Install with the following parameters:
-----------------------------------------------------
Installed
from install.cmd
-----------------------------------------------------
Package
information:
-----------------------------------------------------
-
Package Scripts:
On
Adding Package:
AddPackage.cmd (For
details, see source.zip)
0001_New1.cmd
Rollback:True
Timer:999
On
Package Publish:
PublishPackage.cmd (For
details, see source.zip)
Rollback:True
Timer:999
On
Package UnPublish:
UnPublishPackage.cmd (For
details, see source.zip)
Rollback:True
Timer:999
On
Removing Package:
RemovePackage.cmd (For
details, see source.zip)
0001_New1.cmd
Rollback:True
Timer:999
Added
Scriptfiles:
AddPackage.cmd
FoxitPhantomPDF.msi
PublishPackage.cmd
RemovePackage.cmd
UnPublishPackage.cmd
Deleted
files:
Root\VFS\Windows\Installer\{859A6FD4-5C95-11E7-AC97-000C29C1951D}\FoxitPhantomPDF.msi
Root\VFS\Windows\Installer\{859A6FD4-5C95-11E7-AC97-000C29C1951D}\nb-NO.mst
Root\VFS\Windows\Installer\{859A6FD4-5C95-11E7-AC97-000C29C1951D}\FoxitPhantom_Business_FCT.mst
Added
files:
Root\VFS\Windows\Installer\{859A6FD4-5C95-11E7-AC97-000C29C1951D}\nofiles.txt
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Altiris
detection rules:
-
PublishPackage:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\company\AppV\FoxitPhantomPDF
PublishPackage=0.0.0.1/9794e43f-e287-434b-bcab-d10494ec6166/a5864f56-1914-4b7d-8b90-9100b63454f3
-
AddPackage:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\company\AppV\FoxitPhantomPDF
AddPackage=0.0.0.1/9794e43f-e287-434b-bcab-d10494ec6166/a5864f56-1914-4b7d-8b90-9100b63454f3
______________________________________________________________________________
Install
commandline (COMPLETE,ADD&PUBLISH&MOUNT):
powershell.exe
"Add-AppvClientPackage -Path 'FoxitPhantomPDF.appv' |
Publish-AppvClientPackage –Global | Mount-AppvClientPackage"
AddPackage
commandline (ADD&MOUNT):
powershell.exe
"Add-AppvClientPackage -Path 'FoxitPhantomPDF.appv' |
Mount-AppvClientPackage"
PublishPackage
commandline (PUBLISH&MOUNT):
powershell.exe
"Publish-AppvClientPackage -Name 'FoxitPhantomPDF' –Global |
Mount-AppvClientPackage"
Uninstall
commandline (COMPLETE,UNPUBLISH&REMOVE):
powershell.exe
"Unpublish-AppvClientPackage -Name 'FoxitPhantomPDF' -Global |
Remove-AppVClientPackage"
UnpublishPackage
commandline (UNPUBLISH):
powershell.exe
"Unpublish-AppvClientPackage -Name 'FoxitPhantomPDF' -Global"
______________________________________________________________________________
And
all the relevant script, AppV, and other files also gets zipped down into a
self-extracting EXE file using 7zip.
So
from there it’s just cut & past into whatever share/webserver or wherever
you keep your projects in.
So
this is at least the way we do it.
Capturing
cleanup after sequencing of registry keys is still not implemented, but it will
be as soon as we integrate our program with the excellent AVE we bought
earlier. Then it will become a new part under
Added registry keys:
Deleted registry keys: