thinapp50 manual
TRANSCRIPT
-
8/11/2019 Thinapp50 Manual
1/102
ThinApp Users GuideThinApp 5.0
This document supports the version of each product listed and
supports all subsequent versions until the document is replaced
by a new edition. To check for more recent editions of thisdocument, see http://www.vmware.com/support/pubs.
EN-000400-03
http://www.vmware.com/support/pubshttp://www.vmware.com/support/pubs -
8/11/2019 Thinapp50 Manual
2/102
VMware, Inc.
3401 Hillview Ave.Palo Alto, CA 94304www.vmware.com
2 VMware, Inc.
ThinApp Users Guide
You can find the most up-to-date technical documentation on the VMware Web site at:
http://www.vmware.com/support/
The VMware Web site also provides the latest product updates.
If you have comments about this documentation, submit your feedback to:
Copyright 2010 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright andintellectual property laws. VMware products are covered by one or more patents listed at
http://www.vmware.com/go/patents .VMware is a registered trademark or trademark of VMware, Inc. in the United States and/or other jurisdictions. All other marksand names mentioned herein may be trademarks of their respective companies.
http://www.vmware.com/supportmailto:[email protected]://www.vmware.com/go/patentshttp://www.vmware.com/go/patentshttp://www.vmware.com/go/patentshttp://www.vmware.com/go/patentshttp://www.vmware.com/go/patentsmailto:[email protected]://www.vmware.com/supporthttp://www.vmware.com/support/ -
8/11/2019 Thinapp50 Manual
3/102
VMware, Inc. 3
Contents
About
This
Book 7
1 InstallingThinApp 9ThinAppRequirements 9
OperatingSystems,Applications,andSystemsThatThinAppSupports 9
ApplicationsThatThinAppCannotVirtualize 10
RecommendationsforInstallingThinApp 10
UsingaCleanComputer 10
UsingtheEarliestOperatingSystemRequiredforUsers 11
InstallThinAppSoftware 11
CheckingThinAppInstallationFiles 11
2 CapturingApplications 13PhasesoftheCaptureProcess 13
PreparingtoCaptureApplications 13
CapturingApplicationswiththeSetupCaptureWizard 14
CreateaSystemImageBeforetheApplicationInstallation 14
RescantheSystemwiththeInstalledApplication 14
DefiningEntryPointsasShortcutsintotheVirtualEnvironment 15
SetEntryPoints 15
ManagewithVMwareHorizonApplicationManager 15
SetUserGroups 16
DefiningIsolationModesforthePhysicalFileSystem 16
SetFileSystemIsolationModes 18
StoringApplicationChangesintheSandbox 18CustomizetheSandboxLocation 18
SendAnonymousStatisticstoVMware 18
CustomizeThinAppProjectSettings 19
DefiningPackageSettings 19
CustomizePackageSettings 20
OpeningProjectandParameterFiles 20
BuildVirtualApplications 21
AdvancedPackageConfiguration 21
ModifyingSettingsinthePackage.iniFile 21
ModifyingSettingsinthe##Attributes.iniFile 22
CapturingInternetExplorer6onWindowsXP 22
RequirementsforCapturingInternetExplorer6onWindowsXP 23CaptureInternetExplorer6onWindowsXPbyUsingtheSetupCaptureWizard 23
ExtractingandRegisteringThinDirect 24
CapturingMultipleApplicationInstallerswithThinAppConverter 24
ThinAppConverterProcess 24
SystemRequirementsforRunningThinAppConverter 25
PreparingtheConfigurationFileforThinAppConverter 25
PredefinedEnvironmentVariables 31
3 DeployingApplications 33ThinAppDeploymentOptions 33
DeployingThinAppwithDeploymentTools 33
-
8/11/2019 Thinapp50 Manual
4/102
ThinApp Users Guide
4 VMware, Inc.
DeployingThinAppintheVMwareViewEnvironment 33
DeployingThinApponNetworkShares 34
DeployingThinAppUsingExecutableFiles 34
EstablishingFileTypeAssociationswiththethinreg.exeUtility 34
ApplicationSyncEffectonthethinreg.exeUtility 34
Runthethinreg.exeUtility 35
Optionalthinreg.exeParameters 35
Building
an
MSI
Database 37CustomizingMSIFileswithPackage.iniParameters 37
ModifythePackage.iniFiletoCreateMSIFiles 37
ControllingApplicationAccesswithActiveDirectory 39
Package.iniEntriesforActiveDirectoryAccessControl 39
StartingandStoppingVirtualServices 40
AutomaticStartupforVirtualServices 40
UsingThinAppPackagesStreamedfromtheNetwork 41
HowThinAppApplicationStreamingWorks 41
RequirementsandRecommendationsforStreamingPackages 42
StreamThinAppPackagesfromtheNetwork 43
UsingCapturedApplicationswithOtherSystemComponents 43
PerformingPasteOperations 43
AccessingPrinters 43
AccessingDrivers 43
AccessingtheLocalDisk,theRemovableDisk,andNetworkShares 43
AccessingtheSystemRegistry 44
AccessingNetworkingandSockets 44
UsingSharedMemoryandNamedPipes 44
UsingCOM,DCOM,andOutofProcessCOMComponents 44
StartingServices 44
UsingFileTypeAssociations 44
SampleIsolationModeConfigurationDependingonDeploymentContext 45
ViewofIsolationModeEffectontheWindowsRegistry 45
4 UpdatingandLinkingApplications 47ApplicationUpdatesThattheEndUserTriggers 47
ApplicationSyncUpdates 47
ApplicationLinkUpdates 50
ApplicationUpdatesThattheAdministratorTriggers 54
ForcinganApplicationSyncUpdateonClientMachines 55
UpdatingApplicationswithRuntimeChanges 55
AutomaticApplicationUpdates 56
DynamicUpdatesWithoutAdministratorRights 57
UpgradingRunningApplicationsonaNetworkShare 57
FileLocks 57
UpgradeaRunningApplication 57
SandboxConsiderationsforUpgradedApplications 58
UpdatingtheThinAppVersionofPackages 58
relinkExamples 58
5 LocatingtheThinAppSandbox 59SearchOrderfortheSandbox 59
ControllingtheSandboxLocation 61
StoretheSandboxontheNetwork 61
StoretheSandboxonaPortableDevice 61
SandboxStructure 62
MakingChangestotheSandbox 62
http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?- -
8/11/2019 Thinapp50 Manual
5/102
VMware, Inc. 5
Contents
ListingVirtualRegistryContentswithvregtool 62
6 CreatingThinAppSnapshotsandProjectsfromtheCommandLine 63MethodsofUsingthesnapshot.exeUtility 63
CreatingSnapshotsofMachineStates 63
CreatingtheTemplatePackage.inifilefromTwoSnapshotFiles 64
CreatingtheThinAppProjectfromtheTemplatePackage.iniFile 64
Displayingthe
Contents
of
aSnapshot
File 65
Samplesnapshot.exeCommands 65
CreateaProjectWithouttheSetupCaptureWizard 65
Customizingthesnapshot.iniFile 66
7 ThinAppFileSystemFormatsandMacros 67VirtualFileSystemFormats 67
ThinAppFolderMacros 67
ListofThinAppMacros 68
Processing%SystemRoot%inaTerminalServicesEnvironment 69
8 CreatingThinAppScripts 71CallbackFunctions 71
ImplementScriptsinaThinAppEnvironment 72
.batExample 72
TimeoutExample 72
ModifytheVirtualRegistry 73
.regExample 73
StoppingaServiceExample 73
CopyingaFileExample 73
AddaValuetotheSystemRegistry 74
APIFunctions 75
AddForcedVirtualLoadPath 75
ExitProcess 75
ExpandPath 76
ExecuteExternalProcess 76
ExecuteVirtualProcess 77
GetBuildOption 77
GetFileVersionValue 77
GetCommandLine 78
GetCurrentProcessName 78
GetOSVersion 79
GetEnvironmentVariable 80
RemoveSandboxOnExit 80
SetEnvironmentVariable 80
SetfileSystemIsolation 81
SetRegistryIsolation 81WaitForProcess 81
9 MonitoringandTroubleshootingThinApp 83ProvidingInformationtoTechnicalSupport 83
LogMonitorOperations 83
TroubleshootActivitywithLogMonitor 84
PerformAdvancedLogMonitorOperations 84
LogFormat 86
TroubleshootingSpecificApplications 90
TroubleshootRegistrySetupforMicrosoftOutlook 90
ViewingAttachmentsinMicrosoftOutlook 90
-
8/11/2019 Thinapp50 Manual
6/102
ThinApp Users Guide
6 VMware, Inc.
StartingExplorer.exeintheVirtualEnvironment 91
TroubleshootingJavaRuntimeEnvironmentVersionConflict 91
Glossary 93
Index 97
-
8/11/2019 Thinapp50 Manual
7/102
VMware, Inc. 7
TheThinAppUsersGuideprovidesinformationabouthowtoinstallThinApp,captureapplications,deploy
applications,andupgradeapplications.You canrefertothisguidetocustomizeparametersandperform
scripting.
Intended Audience
ThisbookisintendedforanyonewhoinstallsThinAppanddeployscapturedapplications.Typicalusersare
systemadministratorsresponsibleforthedistributionandmaintenanceofcorporatesoftwarepackages.
VMware ThinApp Documentation
ThecompletedocumentationsetforVMwareThinAppconsistsofthefollowingdocuments.
ThinAppUsersGuide.Conceptualandproceduralinformationtohelpyoucompleteatask.
ThinApp5.0ReleaseNotes.Latebreakingnewsanddescriptionsofknownissuesandworkarounds.
Document Feedback
VMwarewelcomesyoursuggestionsforimprovingourdocumentation.Ifyouhavecomments,[email protected].
Technical Support and Education Resources
Thefollowingsectionsdescribethetechnicalsupportresourcesavailabletoyou.To accessthecurrentversion
ofthisbookandotherbooks,gotohttp://www.vmware.com/support/pubs.
Online and Telephone Support
Touseonlinesupporttosubmittechnicalsupportrequests,viewyourproductandcontractinformation,and
registeryourproducts,gotohttp://www.vmware.com/support.
Customerswithappropriatesupportcontractsshouldusetelephonesupportforthefastestresponseonpriority1issues.Gotohttp://www.vmware.com/support/phone_support.
Support Offerings
TofindouthowVMwaresupportofferingscanhelpmeetyourbusinessneeds,goto
http://www.vmware.com/support/services.
About This Book
mailto:[email protected]://www.vmware.com/support/pubshttp://www.vmware.com/supporthttp://www.vmware.com/support/phone_support.htmlhttp://www.vmware.com/support/serviceshttp://www.vmware.com/support/serviceshttp://www.vmware.com/support/phone_support.htmlhttp://www.vmware.com/supporthttp://www.vmware.com/support/pubsmailto:[email protected] -
8/11/2019 Thinapp50 Manual
8/102
ThinApp Users Guide
8 VMware, Inc.
VMware Professional Services
VMwareEducationServicescoursesofferextensivehandsonlabs,casestudyexamples,andcoursematerials
designedtobeusedasonthejobreferencetools.Coursesareavailableonsite,intheclassroom,andlive
online.Foronsitepilotprograms andimplementationbestpractices,VMwareConsultingServicesprovides
offeringsto helpyouassess,plan,build,andmanageyourvirtualenvironment.To accessinformationabout
educationclasses,certificationprograms,andconsultingservices,gotohttp://www.vmware.com/services.
Legal Notice
ThinAppusestheregularexpressionlibraryoriginallywrittenbyHenrySpencer.
Copyright(c)1986,1993,1995byUniversityofToronto.
WrittenbyHenrySpencer. Notderivedfromlicensedsoftware.
Permissionisgrantedtoanyonetousethissoftwareforanypurposeonanycomputersystem,andto
redistributeitinanyway,subjecttothefollowingrestrictions:
1 Theauthorisnotresponsiblefortheconsequencesofuseofthissoftware,nomatterhowawful,evenif
theyarisefromdefectsinit.
2 Theoriginofthissoftwaremustnotbemisrepresented,eitherbyexplicitclaimorbyomission.
3 Alteredversionsmustbeplainlymarkedassuch,andmustnotbemisrepresented(byexplicitclaimor
omission)asbeingtheoriginalsoftware.
4 Thisnoticemustnotberemovedoraltered.
http://www.vmware.com/services/http://www.vmware.com/services/ -
8/11/2019 Thinapp50 Manual
9/102
VMware, Inc. 9
1
YoucanuseThinApptoisolateapplications,simplifyapplicationcustomization,deployapplicationsto
differentoperatingsystems,andeliminateapplicationconflict.
Thisinformationincludesthefollowingtopics:
ThinAppRequirementsonpage 9
RecommendationsforInstallingThinApponpage 10
InstallThinAppSoftwareonpage 11
CheckingThinAppInstallationFilesonpage 11
ThinApp Requirements
ReviewtherequirementsforoperatingsystemsandcapturedapplicationsbeforeinstallingThinApp.
Operating Systems, Applications, and Systems That ThinApp Supports
ThinAppsupportsvariousoperatingsystems,applications,andsystems.
32bitplatformsincludeWindows8,Windows2000,Windows XP,WindowsXPE,Windows2003Server,WindowsVista,WindowsServer2008,Windows7
64bitplatformsincludeWindows8,Windows864bit,WindowsXP64bit,Windows200364bit,
WindowsVista64 bit,Windows Server 2008 64bit,Windows Server 2008 R2 64bit,Windows 7 64 bit
16bitapplicationsrunningon32bitWindowsoperatingsystems
32bitapplicationsrunningon32bitand64bitWindowsoperatingsystems
64bitapplicationsrunningon64bitWindowsoperatingsystems
TerminalServerandCitrixXenapp
ThinAppsupportsJapaneseapplicationscapturedandrunonJapaneseoperatingsystems.
CertainoperatingsystemsandapplicationsarenotsupportedbyThinApp.
16bitornonx86platformssuchasWindowsCE
64bitapplicationsrunningon32bitWindowsoperatingsystems
16bitapplicationsrunningon64bitWindowsoperatingsystems
Installing ThinApp 1
-
8/11/2019 Thinapp50 Manual
10/102
ThinApp Users Guide
10 VMware, Inc.
Appl ications That ThinApp Cannot Virtual ize
ThinAppcannotconvertsomeapplicationsintovirtualapplicationsandmightblockcertainapplicationfunctions.
Youmustusetraditionalinstallationtechnologiestodeploysomeapplicationtypes.
Applicationsthatdonotnativelysupportthedeploymentoperatingsystem.
Ifanoperatingsystemdoesnotsupportthenativeinstallationofanapplication,thatoperatingsystemis
not
a
supported
ThinApp
deployment
platform
for
that
application. Applicationsrequiringinstallationofkernelmodedevicedrivers
ODBCdriversworkbecausetheyareusermodedrivers.
Antivirusandpersonalfirewalls
Scannerdriversandprinterdrivers
SomeVPNclients
Device Drivers
ApplicationsthatrequiredevicedriversdonotworkwhenpackagedwithThinApp.Youmustinstallthose
devicedriversintheiroriginalformatonthehostcomputer.BecauseThinAppdoesnotsupportvirtualized
devicedrivers,youcannotuseThinApptovirtualizeantivirus,VPNclients,personalfirewalls,anddiskandvolumemountingrelatedutilities.
IfyoucaptureAdobeAcrobat,youcanmodifyandsavePDFfiles,butyoucannotusethePDFprinterdriver
thatenablesyoutosavedocumentstoPDFformat.
Shell Integration
SomeapplicationsthatprovideshellintegrationhavereducedfunctionswhentheyexistinaThinApp
package.Forexample,avirtualapplicationthatintegrateswithWindowsExplorercannotaddspecificentries
totheWindowsExplorercontextmenus.
DCOM Services that are Accessible on a Network
ThinAppisolatesCOMandDCOMservices.ApplicationsthatinstallDCOMservicesareaccessibleonthe
localcomputeronlybyothercapturedapplicationsrunninginthesameThinAppsandbox.ThinAppsupports
virtualDCOMandCOMonthesamecomputerbutdoesnotsupportnetworkDCOM.
Global Hook Dynamic L ink Libraries
SomeapplicationsusetheSetWindowsHookExAPIfunctiontoaddaDLLfiletoallprocessesonthehost
computer.TheDLLinterceptsWindowsmessagestocapturekeyboardandmouseinputfromother
applications.ThinAppignoresrequestsfromapplicationsthatusetheSetWindowsHookExfunctiontotryto
installglobalhookDLLs.ThinAppmightreducetheapplicationfunctions.
Recommendations for Installing ThinApp
WhenyouinstallThinApp,considertherecommendationsandbestpracticesforthesoftware.
Using a Clean Computer
VMwarerecommendsusingacleancomputertoinstallThinAppbecausetheenvironmentaffectsthe
applicationcaptureprocess.AcleancomputerisaphysicalorvirtualmachinewithonlyaWindowsoperating
systeminstalled.Inacorporateenvironmentwhereyouhaveabasedesktopimage,thebasedesktopimage
isyourcleancomputer.Thedesktopcomputermightalreadyhavesomecomponentsandlibrariesinstalled.
-
8/11/2019 Thinapp50 Manual
11/102
VMware, Inc. 11
Chapter 1 Installing ThinApp
Applicationinstallersskipfilesthatalreadyexistonthecomputer.Iftheinstallerskipsfiles,theThinApp
packagedoesnotincludethemduringtheapplicationcaptureprocess.Theapplicationmightfailtorunon
othercomputerswherethefilesdonotexist.Acleancomputerenablesthecaptureprocesstoscanthe
computerfilesystemandregistryquickly.
IfyouinstallThinAppandcaptureanapplicationonacomputerthathasMicrosoft.NET2.0already
installed,.NET2.0isnotincludedintheThinApppackage.Thecapturedapplicationrunsonlyoncomputers
thathave.NET2.0alreadyinstalled.
Using Virtual Machines for Clean Computers
Theeasiestwaytosetupacleancomputeristocreateavirtualmachine.YoucaninstallWindowsonthe
virtualmachineandtakeasnapshotoftheentirevirtualmachineinitscleanstate.Afteryoucapturean
application,youcanrestorethesnapshotandrevertittoacleanvirtualmachinestatethatisreadyforthenext
applicationcapture.
YoucanuseVMwareWorkstationorotherVMwareproductstocreatevirtualmachines.Forinformation
aboutVMwareproducts,seetheVMwareWebsite.
Using the Earliest Operating System Required for Users
InstallThinApponacleancomputerwiththeearliestversionoftheoperatingsystemyouplantosupport.
In mostcases,theearliestplatformisWindows 2000orWindows XP.MostpackagescapturedonWindowsXP
workonWindows2000.In somecases,WindowsXPincludessomeDLLsthatWindows2000lacks.ThinApp
excludestheseDLLsfromthecapturedapplicationpackageiftheapplicationtypicallyinstallstheseDLLs.
AfteryoucreateaThinAppapplicationpackage,youcanoverwritefilesinthepackagewithupdatedversions
andrebuildtheapplicationwithoutthecaptureprocess.
Install ThinApp Software
UsetheThinAppexecutablefiletoinstallThinApp.
Install ThinApp software
1 DownloadThinApp
to
aclean
physical
or
virtual
Windows
machine.
2 DoubleclicktheThinAppexecutablefile.
3 InthePatentListsdialogbox,clickNext.
4 Acceptthelicense,typetheserialnumber,andtypealicensedisplaynamethatappearswhenyouopen
applicationsthatThinAppcaptures.
5 ClickInstall.
ThinAppisinstalled.
Checking ThinApp Installation Files
TheThinApp
installation
generates
the
VMware
ThinApp
directory
in
C:\Program Files\VMware.
You
might
checkthefilesinthisdirectorytoperformoperationssuchasstartingtheLogMonitorutilitytoviewrecent
activity.
ThefollowingkeyfilesintheVMwareThinAppdirectoryaffectThinAppoperations:
AppSync.exeKeepscapturedapplicationsuptodatewiththelatestavailableversion.
logging.dllGenerates.tracefiles.
Logging64.dllGenerates.tracefilesfor64bitapplications.
dll_dump.exeListsallcapturedapplicationsthatarecurrentlyrunningonasystem.
log_monitor.exeDisplaystheexecutionhistoryanderrorsofanapplication.
-
8/11/2019 Thinapp50 Manual
12/102
ThinApp Users Guide
12 VMware, Inc.
relink.exeUpdatesexistingpackagestothelatestThinAppversioninstalledonthesystem.
sbmerge.exeMergesruntimechangesrecordedintheapplicationsandboxwiththeThinAppproject
andupdatesthecapturedapplication.
SetupCapture.exeCapturesandconfiguresapplicationsthroughawizard.
snapshot.exeComparesthepreinstallationenvironmentandpostinstallationenvironmentduringthe
applicationcaptureprocess.
Snapshot64.exe
ThinAppstartsthisutilityduringthesetupcaptureprocess.
snapshot.iniStoresentriesforthevirtualregistryandvirtualfilesystemthatThinAppignoresduring
theprocessofcapturinganapplication.
Thesnapshot.exefilereferencesthesnapshot.inifile.Advancedusersmightmodifythe
snapshot.inifiletoensurethatThinAppdoesnotcapturecertainentrieswhencreatinganapplication
package.
template.msiBuildstheMSIfiles.
Youcancustomizethistemplatetoensurethatthe.msifilesgeneratedbyThinAppadheretocompany
deploymentproceduresandstandards.Forexample,youcanaddregistrysettingsthatyouwant
ThinApptoaddtoclientcomputersaspartoftheinstallation.
thinreg.exeRegisterscapturedapplicationsonacomputer.
ThisregistrationincludessettingupshortcutsandtheStartmenuandsettingupfiletypeassociations
thatallowyoutoopenapplications.
tlink.exeLinkskeymodulesduringthebuildprocessofthecapturedapplication.
vftool.exeCompilesthevirtualfilesystemduringthebuildprocessofthecapturedapplication.
vregtool.exeCompilesthevirtualregistryduringthebuildprocessofthecapturedapplication.
ThinDirect.AdmxIsaWindowsgrouppolicyfile,ThinDirectusesittoidentifythechangesinWindows
registrywhenagrouppolicysettingischanged.
ThinDirect.AdmThinDirect.admallowsyoutochangeThinDirect.txtfilesthathavealreadybeen
deployedtousermachines.
ThinDirect.msiInstallsandregisterstheThinDirectpluginandthelauncherforthevirtualbrowser.
ThinDirect.AdmlThinAppusesthisfiletospecifythelanguagesettingsforMicrosoftWindowsor
MicrosoftOffice.
-
8/11/2019 Thinapp50 Manual
13/102
VMware, Inc. 13
2
Youcancaptureapplicationstopackageanapplicationintoavirtualenvironment.
TheSetupCapturewizardisthemainmethodtocaptureapplicationsandsetinitialapplicationparameters.
Advanceduserswhomustcaptureapplicationsfromthecommandlinecanusethesnapshot.exeutility
insteadoftheSetupCapturewizard.
Thissection
includes
the
following
topics:
PhasesoftheCaptureProcessonpage 13
PreparingtoCaptureApplicationsonpage 13
CapturingApplicationswiththeSetupCaptureWizardonpage 14
AdvancedPackageConfigurationonpage 21
CapturingInternetExploreronWindowsXPonpage 22
CapturingMultipleApplicationInstallerswithThinAppConverteronpage 24
Phases of the Capture Process
Capturinganapplicationinvolvessystemscans,applicationconfiguration,packageconfiguration,and
generationofthevirtualapplicationfordistribution.
TheSetupCapturewizardsetsinitialparametersfortheapplication.Youcancustomizethefullsetof
parametersoutsideofthewizard.
Preparing to Capture Applications
Preparingforthecaptureprocessinvolvesunderstandingtheneedsanddependenciesoftheapplication.
Fortargetapplicationsthathavedependenciesonotherapplications,libraries,orframeworks,youcancapture
thedependenciesorusetheApplicationLinkutilitytolinkseparatevirtualapplicationsatruntime.
Fortargetapplicationsthatrequirelocaleformats,suchasaspecificdateformat,youcancapturetheminan
environmentwiththerequiredlocalesetting.ThinApprunsvirtualapplicationsaccordingtotheregionaland
languagesettingsonthecapturesystemratherthanthesettingsonthesystemthatrunstheapplication.
AlthoughyoucanmodifythedefaultlocalesettingbycommentingouttheLocaleIdentifierparameterin
thePackage.inifileandrebuildingtheapplication,youcanavoidcomplicationsinthecaptureenvironment.
Capturing Applications 2
-
8/11/2019 Thinapp50 Manual
14/102
-
8/11/2019 Thinapp50 Manual
15/102
VMware, Inc. 15
Chapter 2 Capturing Applications
5 Closetheapplication.
6 MaximizetheSetupCapturewizard,clickPostscantoproceedwithanotherscanofthecomputer,and
clickOKtoconfirmthepostscanoperation.
ThinAppstoresthedifferencesbetweenthefirstbaselineimageandthisimageinavirtualfilesystemand
virtualregistry.
Defining Entry Points as Shortcuts in to the Virtual EnvironmentEntrypointsaretheexecutablefilesthatactasshortcutsintothevirtualenvironmentandstartthevirtual
application.Theentrypointsyoucanchoosefromdependontheexecutablefilesthatyourcaptured
applicationcreatesduringinstallation.
Forexample,ifyouinstallMicrosoftOffice,youcanselectentrypointsforMicrosoftWord,MicrosoftExcel,
andotherapplicationsthatareinstalledduringaMicrosoftOfficeinstallation.IfyouinstallFirefox,youmight
selectMozilla Firefox.exeandMozilla Firefox (SafeMode).exeifusersrequiresafemodeaccess.
DuringthebuildprocessthatoccursattheendoftheSetupCapturewizard,ThinAppgeneratesone
executablefileforeachselectedentrypoint.IfyoudeploytheapplicationasanMSIfileorusethe
thinreg.exeutility,thedesktopandStartmenushortcutscreatedonuserdesktopspointtotheseentry
points.
Entry Points for Troubleshooting
ThinAppprovidesentrypointstotroubleshootyourenvironment.
Debugginganapplicationmightinvolvethefollowingentrypoints:
cmd.exeStartsacommandpromptinavirtualcontextthatenablesyoutoviewthevirtualfilesystem.
regedit.exeStartstheregistryeditorinavirtualcontextthatenablesyoutoviewthevirtualregistry.
Entrypointsstartnativeexecutablefilesinavirtualcontext.Entrypointsdonotcreatevirtualpackagesof
cmd.exeandregedit.exe.
Ifyoucannotpredicttheneedfordebuggingortroubleshootingtheenvironment,youcanusetheDisabled
parameterinthePackage.inifileatalatertimetoactivatetheseentrypoints.
Set Entry Points
Youcandesignatetheexecutablefilesthatmakeupthelistofentrypoints.ThinAppinstallstheexecutable
filesduringthecaptureprocess.
Set entry points in the Setup Capture wizard
1 OntheEntryPointspage,selectthecheckboxesforuseraccessibleentrypoints.
ThewizarddisplaystheexecutablefilesthatweredirectlyaccessiblethroughthedesktoporStartmenu
shortcuts.
2 (Optional)Todebugyourenvironment,selecttheShowentrypointsusedfordebuggingcheckboxto
displaytheregedit.exe,andcmd.exetroubleshootingoptions.
Manage with VMware Horizon Appl ication Manager
YoucanuseVMwareHorizonApplicationManagertomanagethedeploymentandentitlementofThinApp
packages.SeeUsingVMwareHorizonApplicationManagertoManagetheDeploymentandEntitlementofThinApp
Packages,availablefromtheThinAppdownloadsite.
Set User Groups
ThinAppcanuseActiveDirectorygroupstoauthorizeaccesstothevirtualapplication.Youcanrestrictaccess
toanapplicationtoensurethatusersdonotpassittounauthorizedusers.
-
8/11/2019 Thinapp50 Manual
16/102
ThinApp Users Guide
16 VMware, Inc.
ActiveDirectoryDomainServicesdefinesecuritygroupsanddistributiongroups.ThinAppcanonlysupport
nestedsecuritygroups.
Set user groups in the Setup Capture wizard
1 OntheGroupspage,limittheuseraccesstotheapplication.
a SelectOnlythefollowingActiveDirectorygroups.
b ClickAdd
to
specify
Active
Directory
object
and
location
information.
2 (Optional)ChangethemessagethatappearsforusersthatThinAppcannotauthorize.
Defining Isolation Modes for the Physical File System
Isolationmodesdeterminethelevelofreadandwriteaccesstothenativefilesystemoutsideofthevirtual
environment.Youmightadjustisolationmodesettingsdependingontheapplicationandtherequirementsto
protectthephysicalsystemfromchanges.
TheselectionofisolationmodesinthecaptureprocessdeterminesthevalueoftheDirectoryIsolationMode
parameterinthePackage.inifile.Thisparametercontrolsthedefaultisolationmodeforthefilescreatedby
thevirtualapplicationexceptwhenyouspecifyadifferentisolationmodeinthe##Attributes.inifilefor
anindividualdirectory.
Theselectionofadirectoryisolationmodedoesnotaffectthefollowingareas:
ThinApp
treats
write
operations
to
network
drives
according
to
the
SandboxNetworkDrives
parameter
inthePackage.inifile.Thisparameterhasadefaultvaluethatdirectswriteoperationstothephysical
drive.ThinApptreatswriteoperationstoremovabledisksaccordingtotheSandboxRemovableDisk
parameterinthePackage.inifile.Thisparameterhasadefaultvaluethatdirectswriteoperationstothe
physicaldrive.
IfyousavedocumentstothedesktoporMy Documentsfolder,ThinAppsavesthedocumentstothe
physicalsystem.ThinAppsetstheisolationmodeinthe##Attributes.inifilesin%Personal%and
%Desktop%toMergedevenwhenyouselectWriteCopyisolationmode.
Applying Merged Iso lat ion Mode for Modi fications Outside the Package
WithMergedisolationmode,applicationscanreadandmodifyelementsonthephysicalfilesystemoutside
ofthevirtualpackage.SomeapplicationsrelyonreadingDLLsandregistryinformationinthelocalsystem
image.
TheadvantageofusingMergedmodeisthatdocumentsthatuserssaveappearonthephysicalsysteminthe
locationthatusersexpect,insteadofinthesandbox.Thedisadvantageisthatthismodemightclutterthe
systemimage.Anexampleofthecluttermightbefirstexecutionmarkersbysharewareapplicationswritten
torandomcomputerlocationsaspartofthelicensingprocess.
WhenyouselectMergedisolation,ThinAppcompletesthefollowingoperations:
SetstheDirectoryIsolationModeparameterinthePackage.inifiletoMerged.
SetsupexceptionsthatapplyWriteCopyisolationtothefollowingdirectoriesandtheirsubdirectories:
%AppData%
Option Description
ObjectTypes Specifiesobjects.
Locations Specifiesalocationintheforest.
CheckNames Verifyobjectnames.
Advanced LocatesusernamesintheActiveDirectoryforest.
CommonQueries(underAdvanced) Searchesforgroupsaccordingtonames,descriptions,disabledaccounts,passwords,anddayssincelastlogin.
-
8/11/2019 Thinapp50 Manual
17/102
VMware, Inc. 17
Chapter 2 Capturing Applications
%Common AppData%
%Local AppData%
%Program Files Common%
%ProgramFilesDir%
%SystemRoot%
%SystemSystem%
ThinAppretainsMergedisolationmodeforthe%SystemSystem%\spoolsubdirectorybycreatingan
exceptiontothe%SystemSystem%parentdirectoryisolationmode.
Betweentheprescanandpostscancaptureoperations,assignsFullisolationmodetoanydirectoriesthat
theapplicationcreatesduringtheinstallation.Thisprocessisunrelatedtotheisolationmodeofanynew
directoriesthattherunningvirtualapplicationcreates.
MergedisolationmodeintheSetupCapturewizardhasthesameeffectasMergedisolationmodeinthe
Package.inifile,includingthedirectoryexceptionsthatspecifyWriteCopyisolationmode.TheSetup
Capturewizardandmanualcaptureprocesswiththesnapshot.exe utilityconfigurethedirectory
exceptionsforyouwiththe##Attributes.inifileswithinthedirectories.
Applying WriteCopy Iso lat ion Mode to Prevent Modi fi cations Outs ide of the Package
WithWriteCopyisolationmode,ThinAppcaninterceptwriteoperationsandredirectthemtothesandbox.
YoucanuseWriteCopyisolationmodeforlegacyoruntrustedapplications.Althoughthismodemightmake
itdifficulttofinduserdatafilesthatresideinthesandboxinsteadofthephysicalsystem,thismodeisuseful
forlockeddowndesktopswhereyouwanttopreventusersfromaffectingthelocalfilesystem.
WhenyouselectWriteCopyisolationintheSetupCapturewizard,ThinAppcompletesanumberof
operations.
SetstheDirectoryIsolationModeparameterinthePackage.inifiletoWriteCopy.
SetsupexceptionsthatapplyMergedisolationtothesedirectories
%Personal% %Desktop%
%SystemSystem%\spool
Betweentheprescanandpostscancaptureoperations,assignsFullisolationmodetoanydirectoriesthat
theapplicationcreatesduringtheinstallation.Thisprocessisunrelatedtotheisolationmodeofanynew
directoriesthattherunningvirtualapplicationcreates.
WriteCopyisolationmodeintheSetupCapturewizardhasthesameeffectasWriteCopyisolationmodeinthe
Package.inifile,includingthedirectoryexceptionsthatspecifyMergedisolationmode.TheSetupCapture
wizardandsnapshot.exeutilityconfigurethedirectoryexceptionsforyouwiththe##Attributes.inifiles
withinthedirectories.
Set File System Isolation Modes
Thecaptureprocesssetsthelevelofreadandwriteaccesstothephysicalfilesystemtodeterminewhich
directoriesarevisibleandwritablebythevirtualapplication.
For informationaboutFullisolationandregistryisolationthatareavailableonlyoutsideoftheSetupCapture
wizard,seeDirectoryIsolationModeandRegistryIsolationModeinThinAppPackage.iniParameters
ReferenceGuide.
Set file system isolation modes in the Setup Capture wizard
OntheIsolationpage,selecttheisolationmodeforthephysicalfilesystem.
-
8/11/2019 Thinapp50 Manual
18/102
ThinApp Users Guide
18 VMware, Inc.
Storing Application Changes in the Sandbox
Thesandboxisthedirectorywhereallchangesthatthecapturedapplicationmakesarestored.Thesandbox
isruntimemodificationstorageandisnotacache.Thenexttimeyouopentheapplication,thosechangesare
incorporatedfromthesandbox.
Whenyoudeletethesandboxdirectory,theapplicationrevertstoitscapturedstate.Youmightdeletea
sandboxwhenanapplicationhasaproblemandyouwanttoreverttheapplicationbacktotheworking
originalstate.
Customize the Sandbox Location
Youcandeploythesandboxtoalocalusermachine,carryitonamobileUSBdevice,orstoreitinanetworklocation.
Ifyoudeploythesandboxtoalocalmachine,usetheusersprofileasthesandboxlocation.Thedefault
locationofthesandboxforFirefoxmightbe%AppData%\Thinstall\Mozilla Firefox 3.0.Thetypical
%AppData%locationisC:\Documents and Settings\\Application Data.Theusersprofile
isthedefaultlocationbecauseofthewriteaccess.
Anetworklocationisusefulforbackingupthesandboxandforuserswhologintoanycomputerandkeep
theirapplicationsettings.Usetheabsolutepathtothelocation,suchas\\thinapp\sandbox\Firefox.You
canselectanetworklocationevenifanapplicationisinstalledonalocalmachine.
Aportabledevicelocationisusefultokeepthesandboxdataonthedevicewheretheapplicationresides.
Customize the sandbox location in the Setup Capture wizard
OntheSandboxpage,selecttheusersprofile,applicationdirectory,orcustomlocationforthesandbox.
Send Anonymous Statistics to VMware
ToimproveThinAppsupportforapplications,VMwareusesthecaptureprocesstoconfirmwhethertocollect
anonymousdataaboutdeployedThinApppackages.Thedataincludestheapplicationstarttime,total
runningtime,andnumberofrunsfortheapplication.
Send anonymous statistics to VMware
OntheUsageStatisticspage,clicktheYes SendanonymoususagestatisticstoVMwareoptionbuttonto
confirmthedatacollectionstatus.
Customize ThinApp Project Settings
Aprojectisthedatathatthecaptureprocesscreates.Youcannotrunordeploythecapturedapplicationuntil
youbuildapackagefromtheprojectfiles.
Settinguptheprojectinvolvesdeterminingtheinventorynameandtheprojectlocation.Theinventoryname
facilitatesinternaltrackingoftheapplicationanddeterminesthedefaultprojectdirectoryname.
Option Description
Fullwriteaccesstononsystemdirectories(Mergedisolationmode)
Allowstheapplicationtoreadresourcesonandwritetothelocalmachine.
Restrictedwriteaccess(WriteCopyisolationmode)
Allowstheapplicationtoreadresourcesonthelocalmachineandtorestrictmostmodificationstothesandbox.
ThinAppcopiesfilesystemchangestothesandboxtoensurethatThinApponlymodifiescopiesoffilesinsteadoftheactualphysicalfiles.
-
8/11/2019 Thinapp50 Manual
19/102
VMware, Inc. 19
Chapter 2 Capturing Applications
Customize project settings in the Setup Capture wizard
1 OntheProjectSettingspage,changetheinventoryname.
Usingthethinreg.exeutilityordeployingthecapturedapplicationasanMSIfilecausestheinventory
nametoappearintheAddorRemoveProgramsdialogboxforWindows.
2 ChangethedirectorywhereyouwanttosavetheThinAppproject.
IfyoukeepthedefaultdirectoryandcaptureFirefox2.0.0.3,thepathmightappearasC:\Program
Files\VMware\VMware ThinApp\Captures\Mozilla Firefox (2.0.0.3).
Defining Package Settings
ApackageistheexecutablefileorMSIfilewithexecutablefilesthatyouusetorunordeployacaptured
application.Youbuildapackagefromtheprojectfiles.
Settingupthepackageduringthecaptureprocessinvolvesspecifyinginformationaboutthemainvirtual
applicationfilethatservesastheprimarydatacontainer,MSIgeneration,andcompression.
Defining the Primary Data Container
TheprimarydatacontaineristhemainvirtualapplicationfilethatincludestheThinAppruntimeandthe
readonly
virtual
file
system
and
virtual
registry.
The
primary
data
container
file
is
a.exe
or
a.dat
file
that
residesinthesame/bindirectorywithanysubordinateapplicationexecutablefiles.Entrypointsreference
theinformationintheprimarydatacontainer.
Toidentifytheprimarydatacontainerafteryoucaptureanapplication,checktheReadOnlyDataparameter
inthePackage.inifile.
Generating MSI Packages in the Capture Process
YoucancaptureanapplicationanddeployitasanMSIWindowsinstallationpackage.TheMSIinstallation
placestheapplicationintheC:\Program Filesdirectory.
AtypicalFirefoxapplicationdoesnotrequireanMSIinstallation.Otherapplications,suchasMicrosoftOffice,
thatintegratewithapplicationdeliverytools,workwellasanMSIpackage.MSIgenerationrequiresyouto
installtheMSIonthetargetdevicebeforeyoucanusetheapplicationpackage.
MSIpackagesautomatetheprocessofregisteringfiletypeassociations,registeringdesktopandStartmenu
shortcuts,anddisplayingcontrolpanelextensions.IfyouplantodeployThinAppexecutablefilesdirectlyon
eachcomputer,youcanaccomplishthesameregistrationbyusingthethinreg.exeutility.
Compressing Packages in the Capture Process
Compressingapackageinthecaptureprocessdecreasesthesizeofanexecutablepackagebutdoesnotaffect
MSIpackages.
Compressioncanreducetheondiskstoragerequirementby50percentbutslowstheapplicationperformance
whenThinAppuncompressesinitialblocksthatstarttheapplication.VMwaredoesnotrecommend
compressionfortestbuildsbecausecompressionincreasesthebuildtime.
Customize Package Settings
Thecaptureprocessincludesinitialsettingsfortheprimarydatacontainer,MSIpackages,andexecutable
packagecompression.
Customize package settings in the Setup Capture wizard
1 OnthePackageSettingspage,selecttheprimarydatacontainerfromthelistthatisbasedonyour
executablefileentrypoints.
Ifthesizeoftheprimarycontainerissmallerthan200MB,ThinAppcreatesa.exefileastheprimary
container.ForasmallapplicationsuchasFirefox,any.exefilecanserveasthemaindatacontainer.
-
8/11/2019 Thinapp50 Manual
20/102
ThinApp Users Guide
20 VMware, Inc.
Ifthesizeoftheprimarycontainerislargerthan200MB,ThinAppcreatesaseparate.datfileasthe
primarycontainerbecauseWindowsXPandWindows2000cannotshowshortcuticonsforlarge
.exefiles.Generatingseparatesmall.exefilestogetherwiththe.datfilefixestheproblem.
Ifthesizeoftheprimarycontainerisbetween200MBand1.5GB,ThinAppcreatesthedefault.dat
fileunlessyouselecta.exefiletooverridethedefault.datfile.
2 (Optional)Ifyouselecta.exefiletooverridethedefault.datfilewhenthesizeoftheprimarycontainer
isbetween200MBand1.5GB,ignorethegeneratedwarning.
Selectinga.exefileenablesallapplicationstoworkproperlybutmightpreventtheproperdisplayof
icons.
3 (Optional)Ifyoucannotselectaprimarydatacontainer,typeaprimarydatacontainernametogenerate
a.datfile.
IfyouplantousetheApplicationSyncutilitytoupdateacapturedapplication,ThinAppusestheprimary
datacontainernameduringtheprocess.Youmustusethesamenameacrossmultipleversionsofthe
application.Youmightnotbeabletoselectthesameprimarydatacontainernamefromthelist.
For example,MicrosoftOffice2003andMicrosoftOffice2007donothavecommonentrypointnames.
4 (Optional)SelecttheGenerateMSIpackagecheckboxandchangetheMSIfilename.
5 (Optional)TocreateasmallerexecutablepackageforlocationssuchasaUSBdevice,selecttheCompress
virtualpackagecheckbox.
6 ClickSave.
Opening Project and Parameter Files
Thecaptureprocessprovidesanopportunitytoreviewtheprojectfilestoupdatesettingsbeforebuildingthe
executablepackageorMSIpackage.
Forexample,ifyoucaptureFirefox2.0.0.3,youmightbrowsetheC:\Program Files\VMware\VMware
ThinApp\Captures\Mozilla Firefox 2.0.0.3directorytoupdateasetting,suchasanActiveDirectory
specification,inthePackage.inifilethatcontainstheparameterssetduringthecaptureprocess.For
informationaboutupdatingsettings,seeAdvancedPackageConfigurationonpage 21.
Theprojectincludesfolders,suchas%AppData%,thatrepresentfilesystempathsthatmightchangelocations
whenrunningondifferentoperatingsystemsorcomputers.Mostfoldershave##Attributes.inifilesthat
specifytheisolationmodeatthefolderlevel.
Build Virtual Applications
Youcanadjustprojectfilesandbuildtheapplicationfordeployment.
Build vi rtual applications in the Setup Capture wizard
1 (Optional)OntheReadytoBuildpage,scanorchangetheprojectfiles.
2 (Optional)Topreventabuildfromtakingplace,selecttheSkipthebuildprocesscheckbox.
Youcanbuildthepackageatalatertimewiththebuild.batfileinthevirtualapplicationfolder.For
example,aFirefox2.0.0.3pathtothebuild.batfilemightbeC:\Program Files\VMware\VMware
ThinApp\Captures\Mozilla Firefox 2.0.0.3\build.bat.
3 ClickBuildtobuildanexecutablepackageorMSIpackagecontainingthefilesyouinstalledduringthe
captureprocess.
Option Description
EditPackage.ini Modifyapplicationparametersfortheentirepackage.
Openprojectfolder BrowseThinAppprojectfilesinWindowsExplorer.
-
8/11/2019 Thinapp50 Manual
21/102
VMware, Inc. 21
Chapter 2 Capturing Applications
4 (Optional)DeselecttheOpenfoldercontainingprojectexecutablesafterclickingFinishcheckboxto
viewtheexecutablefilesandMSIfilesatalatertime.
5 ClickFinish.
YoucanrebuildthepackageatanytimeafteryouclickFinishtomakechanges.
Advanced Package Configuration
Advancedusersmightmodifyconfigurationfiles,suchasthePackage.inior##Attributes.inifiles,
beforebuildingthepackageduringthecaptureoraftertheinitialbuildofthepackage.
Modifying Settings in the Package.ini File
YoucanmodifythePackage.inifiletoupdatetheoverallpackage.
Thefileresidesinthecapturedapplicationfolder.AFirefox2.0.0.3pathmightbeC:\Program
Files\VMware\VMware ThinApp\Captures\Mozilla Firefox 2.0.0.3\Package.ini.
Thefollowingparametersareafewexamplesofsettingsthatyoumightmodify:
DirectoryIsolationModeSetstheisolationmodetoMerged,WriteCopy,orFull.
PermittedGroupsRestricts
use
of
an
application
package
to
aspecific
set
of
Active
Directory
users.
SandboxNameIdentifiesthesandbox.
Youmightkeepthenameforincrementalapplicationupdatesandchangethenameformajorupdates.
SandboxPathSetsthesandboxlocation.
SandboxNetworkDrivesSpecifieswhethertoredirectwriteoperationsonthenetworksharetothe
sandbox.
RequiredAppLinksSpecifiesalistofexternalThinApppackagestoimporttothecurrentpackageat
runtime.
OptionalAppLinksSpecifiesalistofexternalThinApppackagestoimporttothecurrentpackageat
runtime.
ForinformationaboutallPackage.iniparameters,downloadacopyoftheThinAppPackage.iniReferencefrom
theThinAppdownloadsite
Modify the Package.ini File
UseatexteditortomodifythePackage.inifile.
Modify the Package.ini fil e
1 OpenthePackage.inifilelocatedinthecapturedapplicationfolder.
Forexample,aFirefox2.0.0.3pathmightbeC:\Program Files\VMware\VMware
ThinApp\Captures\Mozilla Firefox 2.0.0.3\Package.ini.
2 Activatetheparametertoeditbyremovingthesemicolonatthebeginningoftheline.
Forexample,activatetheRemoveSandboxOnExitparameterforFirefox.
RemoveSandboxOnExit=1
3 Deleteorchangethevalueoftheparameterandsavethefile.
4 Doubleclickthebuild.batfileinthecapturedapplicationfoldertorebuildtheapplicationpackage.
Forexample,aFirefox2.0.0.3pathtothebuild.batfilemightbeC:\Program Files\VMware\VMware
ThinApp\Captures\Mozilla Firefox 2.0.0.3\build.bat.
-
8/11/2019 Thinapp50 Manual
22/102
ThinApp Users Guide
22 VMware, Inc.
Modifying Settings in the ##Attributes.ini File
The##Attributes.inifileexistsinthefoldermacrosoftheprojectfolderandappliesconfigurationsettings
atthedirectorylevel.ThePackage.inifileappliessettingsattheoverallapplicationlevel.Youcanusethe
DirectoryIsolationMode,CompressionType,andExcludePatternparametersinan##Attributes.ini
filetooverridethePackage.inisettingsatthedirectorylevel.
Forexample,youcansettheisolationmodeatthedirectoryorapplicationleveltodeterminewhichfilesand
registry
keys
are
visible
and
written
by
the
virtual
application
you
create.
The
detailed
setting
in
the
##Attributes.inifileoverridestheoverallPackage.inisetting.ThePackage.inisettingdeterminesthe
isolationmodeonlywhenThinAppdoesnothave##Attributes.iniinformation.
The##Attributes.inifileappearsinmostfoldersforthecapturedapplication.For example,the
Attributes.inifilemightbelocatedinC:\Program Files\VMware\VMware
ThinApp\Captures\Mozilla Firefox 2.0.0.3\%AppData%\##Attributes.ini.
Modify the ##Attributes.ini File
Useatexteditortomodifythe##Attributes.inifile.
Modify the ##Attributes.ini fil e
1 Inthe##Attributes.inifile,uncomment,update,ordeletetheparameter.
2 Doubleclickthebuild.batfileinthecapturedapplicationfoldertorebuildtheapplicationpackage.
Capturing Internet Explorer on Windows XP
AfteryouusetheSetupCapturewizardtocaptureInternetExplorerrunningonWindowsXP,onatest
machineyoucanusetheThinAppThinDirectplugintoredirectWebsitesorspecificpagestoautomatically
openinavirtualInternetExplorerbrowser.YoucanviewWebpagesthatareincompatibleinthenative
versionofInternetExplorerinthevirtualInternetExplorer.Alistismaintainedthatfacilitatesaredirection
processforspecifiedincompatibledomainsandpages.
YoucanalsoinstallInternetExplorerpluginssuchasJavaruntimeplugins.Thepluginsaretreatedasany
otherfileduringSetupCapture.ThepluginsareembeddedintheInternetExplorercapture.
AftertheThinDirectpluginissuccessfullyinstalledinyournativebrowser,whenauserrequestsaURLthat
isincludedintheredirectlist,amessageappearsinthenativebrowsertoalerttheuserthatthepageisbeing
redirectedtoavirtualInternetExplorerbrowser.Thevirtualbrowseropens,therequestedURLappearsand
thenativebrowserisclosed.
Requirements for Capturing Internet Explorer 6 on Windows XP
BeforeyoustarttheSetupCapturewizardthefollowingrequirementsmustbemet:
YoumusthaveacleanvirtualmachinewithWindowsXPinstalled.
EnsurethatWindowsXPincludesalltheservicepacksandMicrosoftupdates,sothatInternetExplorer
6iscapturedwiththelatestsecurityfixesfromMicrosoft.
ThinAppmustbeinstalledonthesamemachine.
Capture Internet Explorer 6 on Windows XP by Using the Setup Capture Wizard
CapturingInternetExplorer6usingtheSetupCapturewizardissimilartothatofcapturingother
applications.Therearetwokeydifferences.WhenyouusetheSetupCapturewizardtocaptureInternet
Explorer6onWindowsXP,youdefineanentrypointtoInternetExplorer.YoualsouseThinDirecttospecify
URLsthatwillberedirectedtothevirtualizedInternetExplorer6browser.
SeeCapturingApplicationswiththeSetupCaptureWizardonpage 14forafulloverviewofthestandard
SetupCaptureprocess.
-
8/11/2019 Thinapp50 Manual
23/102
VMware, Inc. 23
Chapter 2 Capturing Applications
RunsetupcaptureonamachinerunningWindowsXPwithServicePack3,andwiththe.NETframework
installed.
Capture Internet Explorer 6 on Windows XP
1 CreateasystemimageusingthePrescanprocessoftheSetupCapturewizard.
2 IntheInstallApplicationdialogbox,clickInternetExplorer.
3 SelectInclude
entry
point
for
a
fullyvirtualized
Internet
Explorer
6
in
the
virtual
packageand
click
OK.
Thisoptioncapturesboththefilesthatchangedduringsetupcaptureandotherrequiredfilesandregistry
settings.
4 InstallanypluginsforInternetExplorerthatyouwanttobeincludedinthepackage.
5 RescanthesystemusingthePostscanprocessoftheSetupCapturewizard.
6 IntheSetupCaptureEntryPointsdialogbox,selectthedefault,VirtIE6.exe.
7 FollowthepromptsuntiltheNativeBrowserRedirectdialogboxappears.
8 CreatealistoftheWebsitesandpagesthatyouwanttoredirecttothevirtualInternetExplorer6package.
Eachentrymustbeonaseparateline.
Youcanusewildcards,forexample*.example.com.
Youcanspecifyasitesothatallpagesonthatsiteareredirected,forexample,www.example.com.
Youcanspecifyasitenamefollowedbyapagename,sothatthespecificpageisredirected,for
examplejavatester.org/version.html.
9 (Optional)Whenyouhavesavedthepackage,opentheThinDirect.txtfile,whichcontainstheentry
pointtoInternetExplorer6andthelistofredirectaddresses,andeditthefile.
ThisfileonlyexistsafteryoucreateentriesintheNativeBrowserRedirectdialogbox.
Theredirectionlistislocatedin%appdata%\roaming\Vmware\VMware Thinapp\Thindirect.
10 Followthepromptstobuildtheproject.
TheThinDirect.exefileisembeddedinthepackage,withthepluginThinDirect.dllandplugin
launcherThinDirectLauncher.exefiles.
Extracting and Registering ThinDirect
AfteryouhavebuilttheInternetExplorer6package,youneedtoextractandregistertheThinDirectplugin
onthetestmachine.TheThinDirectpluginmustbeinstalledaspartofthevirtualpackage.Thepluginis
installedinyournativebrowserduringtheregistrationprocess.
Extract and register ThinDirect
Intheconsole,runthethinreg /a VirtIE6.execommandtoextracttheThinDirectapplication,andextract
andregistertheThinDirectlibrary.
TheThinDirectapplicationisinstalledintheProgram Files/VMware/VMware ThinApp/ThinDirect
directory.
YoucanhavemultipleThinDirecttextfilesintheThinDirectdirectory,iftheyallhaveuniquenames.The
ThinDirectpluginthenreadsallfiles.
Inadditiontoindividualmachineregistration,youcanregisterWebpageredirectsonaindividualuserbasis
byomittingthe/aswitch.ToachieveindividualuserredirectsrequiresthattheThinDirectpluginbe
installedasaseparatestepfromanAdministratoraccount.IfyoudonotinstalltheThinDirectpluginasa
separatestep,Thinregdisplaysanerror.
YoucanpushadditionalWebpageredirecttoendusercomputersbycopyingfileswithaspecificformatto
specificindividualmachineorindividualuserlocations.
-
8/11/2019 Thinapp50 Manual
24/102
ThinApp Users Guide
24 VMware, Inc.
Capturing Multiple Application Installers with ThinApp Converter
OnvirtualmachinesrunningaWindowsoperatingsystem,youcanuseThinAppConvertertoconvert
multipleapplicationinstallersintoThinApppackages.Afteryouprovideaconfigurationfilewithspecific
settingsthattheconverteraccesses,ThinAppConverterrunsapplicationsinsilentmode.Silentmodemeans
thattheprocessoccurswithoutrequiringuserinput,afterinitialconfigurationsettingsarespecified.ThinApp
Convertertransparentlycapturesinstallationcontent,generatesThinAppprojects,andbuildtheprojectsinto
aThinApppackageinvirtualmachinesyouspecifyintheconfigurationfile.Thisprocessisfullyautomated,
fromwhenThinAppConverterstartstorununtiltheThinApppackageisbuilt.
TheThinAppexecutablefileandtheapplicationinstallerscanrunonvirtualmachines.
ThinApp Converter Process
BeforeyourunThinAppConverter,youmustusetheThinAppConverter.iniconfigurationfileasa
templatetospecifythevirtualmachineenvironmentonwhichtheapplicationstobeconvertedreside,the
networksharepaths,andvariousothermandatoryandoptionalparameters.Youthenusethe-fcommand
lineswitchtospecifytheconfigurationfilethatyoucreated,whichThinAppConverterwilluse.Forexample,
ThinAppConverter.exe -f myConfig.ini.
ThinAppConverterreadstheconfigurationfiletoidentifywhichinstallersaretobeconvertedandthevirtual
machineson
which
the
conversion
is
to
occur.
ThinAppConverterthenpowersoneachvirtualmachineandtakesasnapshotthatisusedafterthe
conversionprocessiscomplete.
Afterthesnapshotistaken,ThinAppConverterpushesasilentcaptureagenttovirtualmachines.Thesilent
captureagentrunstransparentlyonthevirtualmachines,capturingtheapplicationinstallationprocessina
similarwaytothatoftheSetupCapturewizardwhenasingleapplicationisbeingcaptured.Thesilentcapture
agentperformsthefollowingactions:
RunsaThinAppprescan
Installsanapplicationfromthenetworksharespecifiedintheconfigurationfile
Runsapostscan
GeneratesaThinAppprojectonthenetworksharespecifiedintheconfigurationfile
Performsprojectpostprocessingtasks
BuildstheThinAppprojectonthenetworkshareintoapackage
ThesilentcaptureagentthenreturnscontroltotheThinAppConverter,whichrevertsthevirtualmachinesto
theirprecapturestate,usingtheiroriginalsnapshot.
Theprocessisthenrepeatedforthenextapplicationinstallationprocessthatneedstobeconverted.When
multiplevirtualmachinesarespecified,thecaptureagentrunsonthemachinessimultaneously.Asavirtual
machinebecomesavailable,itisonceagainusedforconvertingthenextapplication
ThinApp Converter Limitations
Notallapplicationinstallationprocessessupportsilentinstallationmode.ThinAppConverterdoesnot
supportautomaticcaptureforaninstallationprocessthatdoesnotsupportsilentinstallation.
Theinstallerdirectorynamemustnotcontaintheequalssymbol(=).
System Requirements for Running ThinApp Converter
ThinAppConverterrequiresoneofthefollowingvirtualmachineenvironments:
VMwareESXServer4.0,orlater
VMwarevCenterServer4.0,orlater
VMwareWorkstation7.0,orlater
-
8/11/2019 Thinapp50 Manual
25/102
VMware, Inc. 25
Chapter 2 Capturing Applications
Thevirtualmachinesthatareusedintheconversionprocessmusthavethefollowingitemsinstalled:
WindowsXPwithServicePack3,WindowsVista,orWindows7
ThelatestversionofVMwareTools
ThinAppConverterincludesaprivatecopyoftheVMwareVIXAPIlibrary.Ifamorerecentversionofthe
libraryalreadyexistsonthehostmachine,ThinAppConvertertriestousethenewestversion.
VMwarerecommendsthatyouuseWindows2003orWindows2008asafileserverfornetworkshare.Thefile
serverneedstohavesufficientsystemresourcestohandlealargequantityoffileoperations.Donotusethe
hostmachinethatrunstheThinAppConverterexecutablefileasthefileserverforthenetworkshare.
WhenusingaVMwareWorkstationenvironment,ensurethatthenetworksettingsareinbridgedmode.
Preparing the Configuration File for ThinApp Converter
Asampleconfigurationfile,ThinAppConverter.ini,isincludedintheThinAppinstallation.Thefileis
generallylocatedinC:\Program Files\VMware\VMware ThinApp.
Modifyorcreateacopyofthisfiletosuityourrequirements.UseUTF8encodingwhenyouspecifyparameter
values.
TheThinAppConverter.ini configurationfileincludesthefollowingsectionheadings:
[HostEnvironment]containsvirtualmachinehostingparameters.
[VirtualMachineN]containsvirtualmachinespecificparameters.
[Settings]containsparametersthatprovideglobalcontrolofthecaptureprocess.
[AppSettings:AppName] containsoptionalapplicationspecificparameters.
HostEnvironment
TheHostEnvironmentsectionoftheconfigurationfilecontainstheconnectionparametersforconnectingto
VMwareESXServer,VMwarevCenterServer,orVMwareWorkstationonalocalmachine.
[HostEnvironment]parametersaremandatory.
Youcanonlyspecifyasingleendpointatatimeintheconfigurationfile.Forexample,ifyouplantouse
asingleVMwareESXServer,youcanhaveThinAppConverter.exedirectlyconnecttothatserver.
YoucannotspecifymorethanoneESXserver.TousemorethanoneESXserver,configure
ThinAppConverter.exe toconnecttoVMwarevCenterServer,whichmanagesmultipleESXservers.
YoucanusealocallyinstalledVMwareWorkstation.
VirtualMachineHost
ThenameofthevirtualmachinetowhichThinAppConverteristoconnect.
ToconnectasingleVMwareESXServer,usetheIPaddressorhostnameoftheESXserver.
ToconnecttoVMwarevCenterServer,usetheIPaddressorHOSTnameofthevCenterserver.
ToconnecttoalocalVMwareWorkstationinstance,uselocalhost.
ForVMwareESXServerorVMwarevCenterServer,ifyouarenotusingstandardHTTPSwithport443,
youcanspecifytheentireURL.
Examples
ThefollowingexampleshowsavirtualmachinespecifiedbyESXserverhostname.
[HostEnvironment]
VirtualMachineHost=MyEsx.vmware.com
ThefollowingexampleshowsavirtualmachinespecifiedbyIPaddress.
[HostEnvironment]
-
8/11/2019 Thinapp50 Manual
26/102
ThinApp Users Guide
26 VMware, Inc.
VirtualMachineHost=10.13.11.23
Thefollowingexampleshowsalocalmachinespecifiedaslocalhost.
[HostEnvironment]
VirtualMachineHost=localhost
HostLoginUserName
Theloginusernameforthehostmachine.
UsethesameloginusernameforconnectingtotheserverasyouuseforloggingintotheVMwarevSphere
Client.Youmusthavesufficientprivilegestoturnonandoffvirtualmachines,takevirtualmachinesnapshots,
andsoon.
YoucanuseUPNformatwhenyouspecifyausernameforvCenter.Forexample,[email protected].
HostLoginUserNameisignoredwhenloggingintoVMwareWorkstation.
HostLoginPasswordorHostLoginPasswordBase64
Theloginpasswordforthehostmachine.Youhavethefollowingoptionswhenyouspecifypasswords:
Youcanentercleartext.
Youcanspecifyabase64encodedpasswordfortheHostLoginPasswordBase64parameter.Specifying
anencodedpassworddoesnotincreasesecurity.YouneedtoprotecttheactualINIfile.
Allpasswordsarehandledinthesameway.
HostLoginPasswordPrompt
Specifiesthattheuserbepromptedtoenterapassword.
IfyoudonotwanttostorethevSphereServerpasswordintheconfigurationfile,specifythevalueastrue.
Whensettotrue,apromptalwaysappears,evenifaHostLoginPasswordisspecifiedintheconfigurationfile.
Example
Thefollowingexampleshowsatypicalhostenvironmentspecification.Thevirtualmachinenameisspecified
astheESXserverhostname.Apasswordhasbeenspecified,howevertheuserwillstillbepromptedtoenter
aspassword,
as
specified
in
HostLoginPasswordPrompt.
[HostEnvironment]
VirtualMachineHost=MyEsx.vmware.com
HostLoginUserName=root
HostLoginPassword=secret
HostLoginPasswordPrompt=true
VirtualMachineN
TheVirtualMachineNsectionoftheconfigurationfilecontainsalistoftheWindowsbasedvirtualmachines
thatwillbeutilizedintheconversionprocess.
CreateaVirtualMachineXsectionforeachvirtualmachinethatyouwanttoinclude,andspecifytheir
parameters.Xis1,andsubsequentvirtualmachinesectionsarenumberedsequentially.
[VirtualMachineN]parametersaremandatory.
VmxPath
Specifytheconfigurationpathofthevirtualmachine.
ForESXServerorvCenterServer,youcanidentifythevirtualmachineconfigurationfilepathusingthe
vSphereClient.
Identify the virtual machine configuration path using the vSphere Client
1 RightclickthevirtualmachineandselectEditSettings.
2 ClicktheOptionstab,andcopythestringfromtheVirtualMachineConfigurationFilefield.
-
8/11/2019 Thinapp50 Manual
27/102
VMware, Inc. 27
Chapter 2 Capturing Applications
3 Usethisstringasthevirtualmachineconfigurationfilepath.
ForWorkstation,specifytheentirefilepathonthehostonwhichtheVMXconfigurationfileresides.For
example,C:\MyVMs\Windows XP\WindowsXP.vmx.Donotplacethepathinquotationmarks,evenifthepath
containsaspace.
UserName
Avalidusernameforthevirtualmachineguestoperatingsystem.Theusermusthaveadministrator
privilegesfor
the
virtual
machine
guest
operating
system.
YoucanuseUPNformatwhenyouspecifyausername.Forexample,[email protected].
PasswordorPasswordBase64
Avalidpasswordforthevirtualmachineguestoperatingsystem.Youhavethefollowingoptionswhenyou
specifypasswords:
Youcanentercleartext.
Youcanspecifyabase64encodedpasswordforthePasswordBase64parameter.
Specifyinganencodedpassworddoesnotincreasesecuritystrength.YouneedtoprotecttheactualINI
file.
Allpasswordsarehandledinthesameway.
IfthePasswordsettingisnotused,thepasswordfortheguestisassumedtobeblank.MostWindowsvirtual
machinesdonotsupportautomationwithemptypasswords,soyoushouldspecifyaguestpassword.
PasswordPrompt
Specifiesthattheuserbepromptedtoenterapassword.
Ifyoudonotwanttostorethevirtualmachinepasswordintheconfigurationfile,specifythevalueastrue.
Whensettotrue,apromptalwaysappears,evenifapasswordisspecifiedintheconfigurationfile.
Examples
FollowingisanexampleforanESXserverbasedenvironment.Apasswordhasbeenspecifiedand,as
PasswordPromptis
set
to
false,
the
user
will
not
be
prompted
to
enter
apassword.
[VirtualMachine1]
VmxPath=[Storage] WinXP_Converter/WinXP_Converter.vmx
UserName=administrator
Password=secret
PasswordPrompt=false
FollowingisanexampleforaVMwareWorkstationbasedvirtualmachine.Onvirtualmachine1,
PasswordPrompthasbeensettotrue.Theuserwillbepromptedforapasswordeventhoughapasswordhas
beenspecifiedintheconfiguration.
[VirtualMachine1]
VmxPath=C:\MyVMs\Windows XP\Windows XP.vmx
UserName=administrator
Password=secretPasswordPrompt=true
[VirtualMachine2]
VmxPath=C:\MyVMs\Windows 7\Windows 7.vmx
Password=
PasswordPrompt=true
NOTE Donotplacethepathinquotationmarks,evenifthepathcontainsaspace.
-
8/11/2019 Thinapp50 Manual
28/102
ThinApp Users Guide
28 VMware, Inc.
Settings
TheSettingssectionoftheconfigurationfilecontainstheparametersfortheapplicationinstallationdirectory
andThinAppprojectoutputdirectory,intheformofUNC.Italsocontainsseveralparameterscontrollingthe
conversionprocessbehavior.
ThinAppConverteronlyrequiresreadonlypermissionsforthenetworksharethatcontainstheapplication
installers.Itrequiresread/writepermissionsforthenetworksharethatcontainstheThinAppprojects.
Ifinput
and
output
directories
are
on
the
same
file
server,
you
must
use
the
same
user
account
to
connect
them.
InputUncPath
SpecifythenetworkshareUNCpathfortheapplicationinstallers.Forexample:\\fileserver\sharename,
or\\fileserver\sharename\dirname.
InputMountUserName
Specifytheusernameusedforconnectingtothatnetworkshare.UPNformatcanbeusedwhenyouspecify
adomainuser,[email protected]
InputMountPasswordorInputMountPasswordBase64
Specifythepasswordforconnectingtothenetworkshare.Youhavethefollowingoptionswhenyouspecify
passwords:
Youcanentercleartext.
Youcanspecifyabase64encodedpasswordforthePasswordBase64 parameter.
InputMountPasswordPrompt
Specifiesthattheuserbepromptedtoenterapassword.
Ifyoudonotwanttostorethenetworksharepasswordintheconfigurationfile,specifythevalueastrue.
Whensettotrue,apromptalwaysappears,evenifapasswordisspecifiedintheconfigurationfile.
OutputUncPath
SpecifythenetworkshareUNCpathtothelocationofthegeneratedThinAppprojects.
Forexample:\\fileserver\sharename,or\\fileserver\sharename\dirname
OutputMountUserName
SpecifytheusernameusedforconnectingtotheOutputUncPath networkshare.UPNformatcanbeusedto
specifyadomainuser,forexample,[email protected].
OutputMountPasswordorOutputMountPasswordBase64
Specifythepasswordforconnectingtothenetworkshare.Youhavethefollowingoptionswhenyouspecify
passwords:
Youcanentercleartext.
Youcanspecifyabase64encodedpasswordforthePasswordBase64parameter.
OutputMountPasswordPrompt
Specifiesthattheuserbepromptedtoenterapassword.
Ifyoudonotwanttostorethenetworksharepasswordintheconfigurationfile,specifythevalueastrue.
Whensettotrue,apromptalwaysappears,evenifapasswordisspecifiedintheconfigurationfile.
Example
Followingisanexampleofnetworksharespecifications.Theuserfortheapplicationinstallationdirectoryhas
onlyreadpermissions.Forboththeinputandoutputnetworkshares,apromptwilldisplay,requiringauser
toenterapassword.
[Settings]
-
8/11/2019 Thinapp50 Manual
29/102
VMware, Inc. 29
Chapter 2 Capturing Applications
InputUncPath=\\AppInstallerServer\AppInstallers\ThinAppMigration
InputMountUserName=readonlyUser
InputMountPassword=secret
InputMountPasswordPrompt=true
OutputUncPath=\\DeploymentServer\ThinAppProj
OutputMountUserName=readwriteUser
OutputMountPassword=secret
OutputMountPasswordPrompt=true
ThinApp Converter Logic for Detecting the App lication Installation Processes
Fortheapplicationinstallersnetworkshare,ThinAppConverterexaminesallsubdirectoriesunderthe
specifiedUNCpathrecursively,includingtheirsubdirectories.Foreachsubdirectory,itdetermineswhich
commandtorunforsilentapplicationinstallationusingthefollowinglogic:
1 AttemptstofindavalueforInstallationCommandinthe[AppSettings:AppName]sectionofthe
configurationfile.IfsuccessfulThinAppConverterusesthatvalue.
2 Attemptstofindafilenamedinstall.cmdorinstall.bat.Ifsuccessful,ThinAppConverterrunsthat
file.
3 IfThinAppConverterfindsasingle.cmdor.batfile,itrunsthatfile.
4 IfThinAppConverterfindsasingle.exefile,itrunsthatfile.
5 IfThinAppConverterfindsasingle.mstfile,itrunsthatfileandaddsthenecessarysilentinstallation
switches.
6 IfThinAppConverterfindsasingle.msifile,itrunsthatfileandaddsthenecessarysilentinstallation
switches.
IfnoneofthestepsenableThinAppConvertertofindacorrectinstallationcommand,thesubdirectoryis
skipped.Awarningisloggedinthelogfile.
YoumustremoveallnetworkconnectionstothefileserverreferencedintheINIfilefromthehostonwhich
yourunThinAppConverter,topreventconflictbetweenusercredentials.
PackageIniOverrideFile
Specifythe
file
path
to
the
global
Package.ini
override
file.
ThisoptionalparameterenablesyoutospecifyaglobaloverridefileforPackage.ini thatisgeneratedfor
eachThinAppproject.ThevaluesintheoverridefilearemergedintoPackage.iniintheThinAppproject
thatisgeneratedforeachapplication.
Globaloverridesareusefulwhenyouhaveaglobalpolicysetting,forexample,PermittedGroupin
Package.ini.
APackage.inioverridefileisformattedlikeastandardWindowsINIfile.YoucanaddINIparametersand
valuesthatarerelevanttothePackage.inifile.
Thepathisrelativetotheapplicationinstallersnetworkshare.Usingtheexampleforspecifyingthenetwork
sharesfortheapplicationinstallersandThinAppprojects,ifyouspecify
PackageIniOverrideFile=override.ini,ThinAppConverterwilltrytofindthefileunder
\\AppInstallerServer\AppInstaller.Youcanprovideamoreexplicitvaluebyusingpredefined
variables.Formoreinformation,seePredefinedEnvironmentVariablesonpage 31.
YoucanspecifyaPackage.inifileforeachapplication.Thisprocessisdescribedaspartofthe
[AppSettings:AppName]section.
ExclusionList
Specifyacomma orsemicolonseparatedlistofapplicationdirectoriesthatThinAppwillskipwhensearching
forapplicationinstallers.
Thelistiscaseinsensitive.
YoucanspecifywildcardsforDOSstylefilenames.Forexample,Microsoft*. ?and*aresupported.
-
8/11/2019 Thinapp50 Manual
30/102
ThinApp Users Guide
30 VMware, Inc.
Example
Followingisanexampleofanexclusionspecificationusingawildcard.
[Settings]
ExclusionList=App?.old;FireFox1.0
ProjectPostProcessingCommand
Specifythefilepathtotheprojectpostprocessingcommand.
Thefilepathisrelativetotheapplicationinstallersnetworkshare.Usingtheexampleforspecifyingthe
networksharesfortheapplicationinstallersandThinAppprojects,ifyouspecify
ProjectPostProcessingCommand=addscript.bat,ThinAppConverterwilltrytofindthefileunder
\\AppInstallerServer\AppInstaller.Youcanprovideamoreexplicitvaluebyusingpredefined
variables.Formoreinformation,seePredefinedEnvironmentVariablesonpage 31.
StopOnError
SpecifywhetherThinAppConvertershouldstopconvertinganapplicationifitencountersanerror,or
continuewiththeotherapplications.Thedefaultvalueisfalse.
BuildAfterCapture
SpecifywhethertheThinAppConvertershouldbuildtheThinAppProjectsintopackagesfollowingcapture.
Thedefaultvalueistrue.
DetectIdle
SpecifywhetherThinAppConvertershouldtrytodetectifanapplicationinstallerisstalled,forexamplewhen
theapplicationiswaitingforuserinputontheguestvirtualmachinebecauseincorrectsilentinstallation
switcheswerespecified.
Thedefaultvalueistrue.ThinAppConvertermightnotbeabletodetectallsituationsinwhichtheinstaller
isidle.
InstallerTimeout
SpecifyhowlongThinAppConvertershouldwaitforanapplicationinstallertofinishbeforeitquits.
Bydefault,thevalueis7200seconds.
AppSettings:AppName
Thisoptionalsectionprovidesparametersthatyoucanusetoaddsettingsthatarespecifictoanapplication.
AppNameistheactualnameofthesubdirectorythatcontainstheapplicationinstaller.Theseparameterscan
beaddedtoeachAppSettingssection.Inmostcircumstances,youwillnotneedtoconfigurethissection.
InstallationCommand
SpecifyhowThinAppConvertershouldstarttheapplicationinstaller.Ifthereisnovalue,ThinAppConverter
attemptstoselectoneinstallationcommandusingthelogicdescribedinThinAppConverterLogicfor
DetectingtheApplicationInstallationProcessesonpage 29.
PackageIniOverrideFile
ThePackage.inioverridefilethatisappliedtoasingleapplicationinstaller.Whenthisparameterhasavalue,
theglobaloverridefileisprocessedfirst,followedbythisapplicationspecificoverridefile.
Thefilepathisrelativetotheapplicationinstallersubdirectory.Usingtheexampleatthebottomofthissection,
ifyouspecifyPackageIniOverrideFile=override.ini,ThinAppConverterwilltrytofindthefileunder
\\AppInstallerServer\AppInstaller\Adobe.Youcanprovideamoreexplicitvaluebyusingpredefined
variables.Formoreinformation,seePredefinedEnvironmentVariablesonpage 31.
ProjectPostProcessingCommand
Specifytheprojectpostprocessingcommandforthespecificapplication.
-
8/11/2019 Thinapp50 Manual
31/102
VMware, Inc. 31
Chapter 2 Capturing Applications
Whenthisparameterhasavalue,theglobaloverridefileisprocessedfirst,followedbythis
applicationspecificpostprocessingcommand.
Example
Followingisanexampleofhowtoapplyanapplicationspecificoverrideduringpostprocessing.
[AppSettings:Adobe]
InstallationCommand=AdbeRdr920_en_US.exe /sAll
PackageIniOverrideFile=override.ini[AppSettings:TextPad]
InstallationCommand=silent_install.bat
ProjectPostProcessingCommand=%AppInstallerDir%\addscript.bat
Predefined Environment Variables
ThevaluesforPackageIniOverrideFile(globalandperapplication),ProjectPostProcessingCommand
(globalandperapplication),andInstallationCommandcancontainenvironmentvariables.ThinApp
Converterexpandsthevaluebeforeusingit.
ThinAppConverteraddsthesevariablesaspredefinedenvironmentvariables:
%AppInstallersRootDir% TheUNCpathoftheapplicationinstallersthatisspecifiedin
InputUncPathinthe[Settings]section.
%AppInstallerDir% Thesubdirectoryunder%AppInstallersRootDir%fortherelevantapplication.
%ThinAppProjectsRootDir% TheUNCpathforthegeneratedThinAppprojectsthatisspecifiedin
OutputUncPathinthe[Settings]section.
%ThinAppProjectDir% Thesubdirectoryunder%ThinAppProjectsRootDir%fortherelevant
application.
Example
FollowingisanexampleofhowpredefinedvariablescanbeusedinthePackageIniOverrideFile,
ProjectPostProcessingCommand,andInstallationCommandparameters.
[Settings]PackageIniOverrideFile=%AppInstallersRootDir%\AppSyncSettings.ini
;will resolve to \\AppInstallerServer\AppInstaller\AppSyncSettings.ini
[AppSettings:Adobe]
InstallationCommand=AdbeRdr920_en_US.exe /sAll
PackageIniOverrideFile=%AppInstallerDir%\override.ini
;will resolve to \\AppInstallerServer\AppInstaller\Adobe\AppSyncSettings.ini
-
8/11/2019 Thinapp50 Manual
32/102
ThinApp Users Guide
32 VMware, Inc.
-
8/11/2019 Thinapp50 Manual
33/102
VMware, Inc. 33
3
Deployingcapturedapplicationsinvolvesworkingwithdeploymenttools,thethinreg.exeutility,MSIfiles,
andActiveDirectory.
Thisinformationincludesthefollowingtopics:
ThinAppDeploymentOptionsonpage 33
EstablishingFileTypeAssociationswiththethinreg.exeUtilityonpage 34
BuildinganMSIDatabaseonpage 37
ControllingApplicationAccesswithActiveDirectoryonpage 39
StartingandStoppingVirtualServicesonpage 40
UsingThinAppPackagesStreamedfromtheNetworkonpage 42
UsingCapturedApplicationswithOtherSystemComponentsonpage 44
SampleIsolationModeConfigurationDependingonDeploymentContextonpage 46
ThinApp Deployment Options
Youcandeploycapturedapplicationswithdeploymenttools,inaVMwareViewenvironment,ona
networkshare,orasbasicexecutablefiles.
Deploying ThinApp wi th Deployment Tools
Mediumandlargeenterprisesoftenusemajordeploymenttools,suchasSymantec,BMC,andSMStools.
ThinAppworkswithallmajordeploymenttools.
Whenyouuseanyofthesetools,youcancreateMSIfilesforthecapturedapplicationsandfollowthesame
processyouusetodeploynativeMSIfiles.Seedeploymentinstructionsfromthetoolvendors.Forinformation
aboutMSIfiles,seeBuildinganMSIDatabaseonpage 37.
Deploying ThinApp in the VMware View EnvironmentYoucanuseVMwareViewtodistributeThinApppackages.
Theworkflowfordeployingpackagesmightinvolvethefollowingtasks:
Creatingexecutablefilesforthecapturedapplications.
Storingtheexecutablefilesonanetworkshare.
Deploying Applications 3
-
8/11/2019 Thinapp50 Manual
34/102
ThinApp Users Guide
34 VMware, Inc.
Creatingaloginscriptthatqueriesapplicationsentitledtotheuserandrunsthethinreg.exeutilitywith
theoptionthatregisterstheapplicationsonthelocalmachine.Loginscriptsareusefulfornonpersistent
desktops.SeeEstablishingFileTypeAssociationswiththethinreg.exeUtilityonpage 34.
Controllinguseraccesstofileshares.ITadministratorsmightcontrolaccessbyorganizingnetworkshares
basedonfunctionandassociatingpermissionswithnetworksharesbasedonthosefunctional
boundaries.
Deploying ThinApp on Network Shares
Smallandmediumenterprisestendtouseanetworkshare.Youcancreateexecutablefilesforthecaptured
applicationandstorethemonanetworkshare.Eachtimeyoudeployanewapplicationoranupdatetoan
existingpackage,youcannotifyclientuserstorunthethinreg.exeutilitywithanappropriateoption.
ITadministratorscancontroluseraccesstofilesharesbyorganizingnetworksharesbasedonfunctionand
associatingpermissionswithnetworksharesbasedonthosefunctionalboundaries.
ThedifferencesbetweenthenetworkshareoptionandtheVMwareViewoptionarethatthenetworkshare
optionassumesamixofphysicalandvirtual(persistent)desktopsandinvolvesusersrunningthe
thinreg.exeutilitydirectlyinsteadofrelyingonloginscripts.
Deploying ThinApp Using Executable FilesYoucanuseabasicdeploymentoptionwithexecutablefileswhendiskuseislimited.
Youcancreateexecutablefilesforthecapturedapplications,copythemfromacentralrepository,andrunthe
thinreg.exeutilitymanuallytoregisterfiletypeassociations,desktopshortcuts,andtheapplication
packageonthesystem.
Establishing File Type Associations with the thinreg.exe Utility
IfyoucreateexecutablefilesinsteadofMSIfilesduringthecaptureprocess,youmustrunthethinreg.exe
utilitytoopenfiles,suchasa.docdocumentoran.htmlpage.Forexample,ifyouclickaURLinanemail
message,ThinAppmustbesettostartFirefox.Youdonothavetorunthethinreg.exeutilityforMSIfiles
becauseMSIfilesstarttheutilityduringtheapplicationinstallation.
Thethinreg.exeutilitycreatestheStartmenuanddesktopshortcuts,setsupfiletypeassociations,adds
deinstallationinformationtothesystemcontrolpanel,andunregisterspreviouslyregisteredpackages.The
utilityenablesyoutoseethecontrolpanelextensionsforapplications,suchasQuicktimeorthemailcontrol
panelappletforMicrosoftOutlook2007.Whenyourightclickafile,suchasa.docfile,thethinreg.exe
utilityenablesyoutoseethesamemenuoptionsfora.docfileinanativeenvironment.
IfanapplicationrunsSMTPorHTTPprotocols,suchasanemaillinkonaWebpagethatneedstoopen
MicrosoftOutlook2007,thethinreg.exeutilitystartsavailablevirtualapplicationsthatcanhandlethose
protocols.Ifvirtualapplicationsarenotavailable,thethinreg.exeutilitystartsnativeapplicationsthatcan
handlethoseprotocols.
ThedefaultlocationoftheutilityisC:\Program Files\VMware\VMware ThinApp.
Appl ication Sync Ef fect on the th inreg.exe Ut il ity
TheApplicationSyncutilityaffectsthethinreg.exeutilityduringtheupdateprocess.
Ifyouadd,modify,orremoveexecutablefiles,thethinreg.exeutilityreregistersthefiletypeassociations,
shortcuts,andicons.
Ifyouinstallprotocols,MIMEtypes,controlpanelapplets,andtemplatesotherthanexecutablefiles,the
thinreg.exeutilityreregisterstheseelements.
-
8/11/2019 Thinapp50 Manual
35/102
VMware, Inc. 35
Chapter 3 Deploying Applications
Run the thinreg.exe Utility
Thisexampleofrunningthethinreg.exeutilityprovidessomesamplecommands.
Thepackagenameinthethinreg.execommandscanappearinthefollowingways:
C:\
Relativepathto.exefile
\\\\
Asavariation,youcanuseawildcardspecification,suchas*.exe.
Ifthepathorfilenamecontainsspaces,enclosethepathindoublequotationmarks.Thefollowing
commandshowstheuseofdoublequotationmarks.
thinreg.exe "\\DEPLOYSERVER\ThinApps\Microsoft Office Word 2007.exe"
Forinformationaboutthinreg.exeparameters,seeOptionalthinreg.exeParametersonpage 35.
Run the thinreg.exe utility
1 DeterminetheexecutablefilesthatThinAppmustregisterwiththelocalenvironment.
2 Fromthecommandline,typethethinreg.execommand.
thinreg.exe [] [][][]
IftheservernameisDEPLOYSERVERandtheshareisThinApps,usethefollowingexampletoregister
MicrosoftWordfortheloggedinuser.
ThinReg.exe "\\DEPLOYSERVER\ThinApps\Microsoft Office 2007 Word.exe"
UsethefollowingexampletoregisterallMicrosoftOfficeapplicationsinthespecifieddirectoryforthe
loggedinuser.
ThinReg.exe "\\DEPLOYSERVER\ThinApps\Microsoft Office *.exe"
Optional thinreg.exe Parameters
Thethinreg.exe
utility
monitors
the
PermittedGroups
setting
in
the
Package.ini
file,
registering
and
un
registeringpackagesasneeded.Whenthethinreg.exeutilityregistersapackageforthecurrentuser,the
utilitycreatesonlytheshortcutsandfiletypeassociationsthatthecurrentuserisauthorizedforinthe
PermittedGroupssetting.Ifthissettingdoesnotexist,thecurrentuserisauthorizedforallexecutablefiles.
Whenthethinreg.exeutilityregistersapackageforalluserswiththe/allusersparameter,ThinApp
createsallshortcutsandfiletypeassociationsregardlessofthePermittedGroupssetting.Whenyou
doubleclickashortcuticonthatyouarenotauthorizedfor,youcannotruntheapplication.
Ifthepackagenameyouwanttoregisterorunregistercontainsspaces,youmustencloseitindoublequotation
marks.
ForinformationaboutthePermittedGroupssettingandsupportforActiveDirectorygroups,see
PermittedGroupsparameterinThinAppPackage.iniParametersReferenceGuide.
Table 31listsoptionalparametersforthethinreg.exeutility.Anycommandthatusesthe/aparameter
requiresadministratorrights.
-
8/11/2019 Thinapp50 Manual
36/102
ThinApp Users Guide
36 VMware, Inc.
Table 3-1. Optional thinreg.exe Parameters
Parameter Purpose Sample Usage
/a,/allusers Registersapackageforallusers.
Ifanunauthorizeduserattemptstoruntheapplication,amessageinformstheuserthatheorshecannotruntheapplication.
thinreg.exe /a
"\\\\Microsoft Office
2007 Word.exe"
/q,/quiet Preventsthedisplayofanerrormessageforanunrecognizedcommandlineparameter.
thinreg.exe /q
/u,/unregister,/uninstall
Unregistersapackage.
ThiscommandremovesthesoftwarefromtheAdd/RemoveProgramscontrolpanelapplet.
UnregisterMicrosoftWordforthecurrentuser.
thinreg.exe /u
"\\\\Microsoft Office
2007 Word.exe"
UnregisterallMicrosoftOfficeapplicationsforthecurrentuserandremovetheAdd/RemoveProgramsentry.
thinreg.exe /u
"\\server\share\Microsoft Office *.exe"
Ifauserregistersthepackagewiththe/a
parameter,you
must
use
the
/a
parameter
when
unregisteringthepackage.
thinreg.exe /u /a *.exe
/r,/reregister Reregistersapackage.
Undertypicalcircumstances,thethinreg.exeutilitycandetectwhetherapackageisalreadyregisteredandskipsit.The/roptionforcesthethinreg.exeutilitytoreregisterthepackage.
thinreg.exe /r
"\\\\Microsoft Office
2007 Word.exe"
Ifauserregistersthepackagewiththe/aparameter,youmustusethe/awhenreregisteringthepackage.
thinreg.exe /r /a *.exe
/k,/keepunauthorized,/keep
Preventstheremovalofregistrationinformationevenifyouarenolongerauthorizedtoaccessanapplication
package.Withoutthisoption,thethinreg.exeutilityremovestheregistrationinformationforthatpackageifitdetectsyouarenolongerauthorizedtoaccessthepackage.
ThinAppstoresauthorizationinformationinthePermittedGroupsparameterofthePackage.inifile.
thinreg.exe /k
"\\\\Microsoft Office
2007 Word.exe"
/noarp PreventsthecreationofanentryintheAdd/RemoveProgramscontrolpanelapplet.
thinreg.exe /q /noarp
"\\\\Microsoft Office
2007 Word.exe"
/norelaunch Startsthethinreg.exeutilityonMicrosoftVistawithoutelevatedprivileges.Standarduserscanstarttheutilitywithoutauseraccountcontrol(UAC)popupwindow.
Whenthethinreg.exeutilitydetectsaneedformoreprivileges,suchastheprivilegesrequiredforthe/allusersparameter, theutilityrestartsitselfasaprivilegedprocessandgeneratesaUACpopupwindow.The/norelaunchoptionblocksthisrestartprocessandcausestheregistrationtofail.
thinreg.exe /q /norelaunch
"\\\\Microsoft Office
2007 Word.exe"
-
8/11/2019 Thinapp50 Manual
37/102
VMware, Inc. 37
Chapter 3 Deploying Applications
Building an MSI Database
IfyoudonotcreateMSIfilesduringthecaptureprocess,youcanstillcreatethesefilesafterbuildingan
application.AnMSIdatabaseisusefulfordeliveringcapturedapplicationsthroughtraditionaldesktop
managementsystemstoremotelocationsandautomaticallycreatingshortcutsandfiletypeassociations.
Basic ActiveDirectorygrouppoliciesprovidewaystodistributeandstartMSIpackages.
ThinAppcreatesanMSIdatabasethatcontainscapturedexecutablefiles,installerlogic,andthethinreg.exe
utility.
Customizing MSI Files with Package.ini Parameters
YoucancustomizethebehaviorofMSIfilesbymodifyingPackage.iniparametersandrebuildingthe
applicationpackage.
ThefollowingparameterscanaffectMSIconfiguration:
TheMSIInstallDirectoryparametersetstheinstallationdirectoryforthepackage.
Forexample,includeMSIInstallDirectory=C:\Program Files\inthePackage.inifile.
TheMSIDefaultInstallAllUsersparametersetswhethertoinstallthepackageforallorindividual
users.ThinAppinstallsthepackageinthe%AppData%userdirectory.
Forexample,includeMSIDefaultInstallAllUsers=0inthePackage.inifile.
Formoreinformationaboutthisparameter,seeSpecifyingaDatabaseInstallationforIndividualUsers
andMachinesonpage 38.
TheMSIFileNameparameternamesthepackage.
Forexample,includeMSIFilename=Firefox30.msiinthePackage.inifile.
TheMSIRequireElevatedPrivilegesparameterindicateswhetheraninstallerneedselevated
privilegesfordeploymentonMicrosoftVista.Installationsforindividualusersdonotusuallyneed
elevatedprivilegesbutpermachineinstallationsrequiresuchprivileges.
Forexample,includeMSIRequireElevatedPrivileges=1inthePackage.inifile.
TheMSIProductCodeparametermakesiteasiertoinstallanewversionoftheapplication.AnMSI
databasecontainsaproductcodeandanupgradecode.Whenyouupdateapackage,keeptheoriginal
valueoftheMSIUpgradeCodeparameter.
Iftheparametervalueofthenewversionisthesameasthevalueoftheoldversion,theinstallation
promptsyoutoremovetheoldversion.Ifthevaluesfortheparameteraredifferent,theinstallationun
installstheoldversionandinstallsthenewversion.
VMwarerecommendsthatyouavoidspecifyinganMSIProductCodevalueandallowThinAppto
generateadifferentproductcodeforeachbuild.
Regardlessoftheparametervaluesspecifiedatbuildtime,youcanoverridethesettingsatdeploymenttime.
SeeForceMSIDeploymentsforEachUserorEachMachineonpage 38.
Modify the Package.ini File to Create MSI Files
FormoreinformationaboutMSIparameters,seeCustomizingMSIFileswithPackage.iniParameterson
page 37.
BeforeyoucanmodifyMSIparameters,youmustaddanentryfortheMSIFilenameparametertogenerate
MSIfiles.
-
8/11/2019 Thinapp50 Manual
38/102
ThinApp Users Guide
38 VMware, Inc.
Modify the MSI parameters
1 InthePackage.inifile,typetheMSIfilename.
MSIFilename=.msi
Forexample,thefilenameforFirefoxmightbeMozilla Firefox 2.0.0.3.msi.
2 (Optional)UpdateotherMSIparameters.
3 Doubleclick
the
build.bat
file
in
the
captured
application
folder
to
rebuild
the
application
package.
Specifying a Database Installation for Individual Users and Machines
YoucanmodifytheinstallationoftheMSIdatabaseforusersandmachines.
ThinAppinstallstheMSIdatabaseacrossallmachines.Youcanchangethedefaultinstallationwiththe
followingparametervalues:
Tocreateadatabaseinstallationforindividualusers,useavalueof0forthe
MSIDefaultInstallAllUsersparameterinthePackage.inifile.Thisvaluecreatesmsiexec
parametersforeachuser.
Toallowadministratorstocreateadatabaseinstallationforallusersonamachine,ortoallowan
individualuserwithoutadministratorrightstocreateaninstallationonlyforthatuser,useavalueof2
fortheMSIDefaultInstallAllUsersparameter.AdministratorsbelongtotheAdministratorsActive
Directorygroup.
FormoreinformationabouttheMSIDefaultInstallAllUsersparameter,referThinAppPackage.ini
ParametersReferenceGuide.
Force MSI Deployments fo r Each User or Each Machine
Regardlessoftheparametervaluesspecifiedatbuildtime,youcanoverrideMSIsettingsatdeploymenttime.
Forexample,ifyoucreatedthedatabasewithavalueof1fortheMSIDefaultInstallAllUsersparameter,
youcanstillforceindividualuserdeploymentsforFirefox3.0withthemsiexec /i Firefox30.msi
ALLUSERS=""command.
Ifyou
use
the
ALLUSERS=""
argument
for
the
msiexec
command,
ThinApp
extracts
the
captured
executable
filestothe%AppData%userdirectory.
Deploying 64 bit MSI
SetPackage.iniparameterMSIIs64Bittoinstall64bitMSItoProgramFilesinsteadofProgramFiles(x86)on
64bitsystem.
Example
MSIIs64Bit=1
Force MSI Deployments for Ind ividual Users or for A ll Users on a Machine
(Optional)Fromthecommandline,typethemsiexec /i .msi ALLUSERS=""commandto
forcedeployments
for
individual
users.
(Optional)Fromthecommandline,typethemsiexec /i .msi ALLUSERS=1commandto
forcedeploymentsforallusersonamachine.
Override the MSI Installation Directory
YoucanusethemsiexeccommandtooverridethedefaultMSIinstallationdirectory.
WhenThinAppperformsanindividualmachineMSIdeployment,thedefaultinstallationdirectoryisthe
localizedequivalentof%ProgramFilesDir%\ (VMware ThinApp).IfyouinstallaFirefox
packageforeachmachine,thepackageresidesin%ProgramFilesDir%\Mozilla Firefox (VMware ThinApp).
WhenThinAppper