VMware ThinApp 4.0.4 User guide

  • Hello! I am an AI chatbot trained to assist you with the VMware ThinApp 4.0.4 User guide. I’ve already reviewed the document and can help you find the information you need or explain it in simple terms. Just ask your questions, and providing more details will help me assist you more effectively!
ThinApp User’s Guide
ThinApp 4.0.4
EN-000117-04
VMware, Inc.
3401 Hillview Ave.
Palo Alto, CA 94304
www.vmware.com
2 VMware, Inc.
ThinApp User’s 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:
docfeedback@vmware.com
Copyright © 2009 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and
intellectual 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 marks
and names mentioned herein may be trademarks of their respective companies.
VMware, Inc. 3
Contents
AboutThisBook 9
1 InstallingThinApp 11
ThinAppRequirements 11
OperatingSystems,Applications,andSystemsThatThinAppSupports 11
ApplicationsThatThinAppCannotVirtualize 12
RecommendationsforInstallingThinApp 12
UsingaCleanComputer 12
UsingtheEarliestOperatingSystemRequiredForUsers 13
InstallThinApp 13
LocatingThinAppInstallationFiles 13
2 CapturingApplications 15
ReviewingtheCaptureProcess 15
AssessingApplicationDependenciesBeforetheCaptureProcess 15
ClosingApplicationsBeforetheCaptureProcess 15
CaptureanApplicationwiththeSetupCaptureWizard 16
InitiatetheCaptureProcesswithPrescanandPostscanImages 16
SpecifyApplicationShortcutsandTrackingNames 16
SpecifyUserGroupsandSandboxDataLocations 18
SpecifyFileSystemAccess 18
SpecifyApplicationDeliverySettings 20
BuildVirtualApplications 21
AdvancedPackageConfiguration 22
ModifyingSettingsinthePackage.iniFile 22
ModifyingSettingsinthe##Attributes.iniFile 23
ModifyingIsolationModes 23
3 DeployingApplications 25
ThinAppDeploymentOptions 25
DeployingThinAppWithDeploymentTools 25
DeployingThinAppintheVMwareViewEnvironment 25
DeployingThinApponNetworkShares 26
DeployingThinAppUsingExecutableFiles 26
EstablishingFileTypeAssociationswiththethinreg.exeUtility 26
ApplicationSyncEffectonthethinreg.exeUtility 26
Runthethinreg.exeUtility 27
Optionalthinreg.exeParameters 27
BuildinganMSIDatabase 29
CustomizingMSIFileswithPackage.ini
Parameters 29
ModifythePackage.iniFiletoCreateMSIFiles 30
ControllingApplicationAccesswithActiveDirectory 31
Package.iniEntriesforActiveDirectoryAccessControl 31
UsingThinAppPackagesStreamedfromtheNetwork 32
HowThinAppApplicationStreamingWorks 32
RequirementsandRecommendationsforStreamingPackages 33
StreamThinAppPackagesfromtheNetwork 34
ThinApp User’s Guide
4 VMware, Inc.
UsingCapturedApplicationswithOtherSystemComponents 34
PerformingPasteOperations 34
AccessingPrinters 34
AccessingDrivers 34
AccessingtheLocalDisk,theRemovableDisk,andNetworkShares 35
AccessingtheSystemRegistry 35
AccessingNetworkingandSockets 35
UsingSharedMemoryandNamedPipes 35
UsingCOM,DCOM,andOutofProcessCOMComponents 35
StartingServices 35
UsingFileTypeAssociations 35
SampleIsolationMode
ConfigurationDependingonDeploymentContext 36
ViewofIsolationModeEffectontheWindowsRegistry 36
4 UpdatingApplications 39
ApplicationUpdatesThattheEndUserTriggers 39
ApplicationSyncUpdates 39
ApplicationLinkUpdates 41
ApplicationUpdatesThattheAdministratorTriggers 45
ForcinganApplicationSyncUpdateonClientMachines 45
UpdatingApplicationswithRuntimeChanges 45
AutomaticApplicationUpdates 47
DynamicUpdatesWithoutAdministratorRights 47
UpgradingRunningApplicationsonaNetworkShare 48
FileLocks 48
UpgradeaRunningApplication 48
SandboxConsiderationsfor
UpgradedApplications 49
5 MonitoringandTroubleshootingThinApp 51
ProvidingInformationtoTechnicalSupport 51
LogMonitorOperations 51
TroubleshootActivitywithLogMonitor 52
PerformAdvancedLogMonitorOperations 52
LogFormat 54
TroubleshootingSpecificApplications 58
TroubleshootRegistrySetupforMicrosoftOutlook 58
ViewingAttachmentsinMicrosoftOutlook 58
StartingExplorer.exeintheVirtualEnvironment 59
TroubleshootingJavaRuntimeEnvironmentVersionConflict 59
A ConfiguringPackageParameters 61
Package.iniFileStructure 62
Package.iniParameterPlacement 62
ParametersthatApplytoPackage.inior##Attributes.iniFiles 62
ConfiguringtheThinAppRuntime 62
NetRelaunch 62
RuntimeEULA 63
VirtualComputerName 63
Wow64 64
ConfiguringFileSystemandRegistryIsolation 64
DirectoryIsolationMode 64
RegistryIsolationMode 65
ConfiguringFileandProtocolAssociations 65
FileTypes 65
Protocols 65
VMware, Inc. 5
Contents
ConfiguringBuildOutput 66
OutDir 66
ExcludePattern 66
ConfiguringPermissionsandSecurity 66
AccessDeniedMsg 66
AddPageExecutePermission 67
PermittedGroups 67
UACRequestedPrivilegesLevel 68
UACRequestedPrivilegesUIAccess 68
ConfiguringObjectsandDLLFiles 69
ExternalCOMObjects 69
ExternalDLLs 69
IsolatedMemoryObjects 69
IsolatedSynchronizationObjects 70
ObjectTypes 70
SandboxCOMObjects 71
VirtualizeExternalOutOfProcessCOM 71
ConfiguringStorage 72
CachePath 72
UpgradePath 72
VirtualDrives 73
ConfiguringProcessesandServices 74
AllowExternalProcessModifications 74
AllowUnsupportedExternalChildProcesses 74
AutoShutdownServices 74
AutoStartServices 75
ChildProcessEnvironmentDefault 75
ChildProcessEnvironmentExceptions 75
ConfiguringFileandBlockSizes 76
BlockSize 76
CompressionType 76
ConfiguringIcons 77
Icon 77
RetainAllIcons 78
ConfiguringLogging 78
DisableTracing 78
LogPath 78
ConfiguringVersions 79
CapturedUsingVersion 79
StripVersionInfo 79
Version.XXXX 79
ConfiguringLocaleInformation 80
AnsiCodePage 80
LocaleIdentifier 80
LocaleName 80
ConfiguringIndividualApplications 80
CommandLine 80
Disabled 81
ReadOnlyData 81
ReserveExtraAddressSpace 82
Shortcut 82
Shortcuts 82
Source 83
WorkingDirectory 83
ThinApp User’s Guide
6 VMware, Inc.
ConfiguringDependentApplicationswithApplicationLink 84
ApplicationLinkPathNameFormats 84
RequiredAppLinks 84
OptionalAppLinks 85
ConfiguringApplicationUpdateswithApplicationSync 85
AppSyncClearSandboxOnUpdate 86
AppSyncExpireMessage 86
AppSyncExpirePeriod 86
AppSyncURL 87
AppSyncUpdateFrequency 87
AppSyncUpdatedMessage 87
AppSyncWarningFrequency 87
AppSyncWarningMessage 88
AppSyncWarningPeriod 88
ConfiguringMSIFiles 88
MSIArpProductIcon 88
MSIDefaultInstallAllUsers 88
MSIFilename 89
MSIInstallDirectory 89
MSIManufacturer 89
MSIProductCode 90
MSIProductVersion 90
MSIRequireElevatedPrivileges 90
MSIUpgradeCode 91
MSIUseCabs 91
ConfiguringSandboxStorageandInventoryNames 91
InventoryName 91
RemoveSandboxOnExit 92
SandboxName 92
SandboxNetworkDrives 93
SandboxPath 93
SandboxRemovableDisk 93
B ThinAppSandbox 95
SearchOrderfortheSandbox 95
ControllingtheSandboxLocation 97
StoretheSandboxontheNetwork 97
StoretheSandboxonaPortableDevice 97
SandboxStructure 98
MakingChangestotheSandbox 98
ListingVirtualRegistryContentswithvregtool 98
C SnapshotCommandsandCustomization 99
MethodsofUsingthesnapshot.exeUtility 99
CreatingSnapshotsofMachineStates 99
CreatingtheTemplatePackage.inifilefromTwoSnapshotFiles 100
CreatingtheThinAppProjectfromtheTemplatePackage.iniFile 100
DisplayingtheContentsofaSnapshotFile 101
Samplesnapshot.exeCommands 101
CreateaProjectWithouttheSetupCaptureWizard 101
Customizingthesnapshot.iniFile 102
VMware, Inc. 7
Contents
D ThinAppVirtualFileSystem 103
VirtualFileSystemFormats 103
MergedandVirtualViewsoftheFileSystem 103
UsingFolderMacros 104
ListofFolderMacros 104
Processing%SystemRoot% 105
E ThinAppScripts 107
CallbackFunctions 107
UseScriptsinaThinAppEnvironment 108
.batExample 108
TimeoutExample 108
ModifytheVirtualRegistry 109
.regExample 109
StoppingaServiceExample 109
CopyingaFileExample 109
AddaValuetotheSystemRegistry 110
APIFunctions 111
AddForcedVirtualLoadPath 111
ExitProcess 111
ExpandPath 112
ExecuteExternalProcess 112
ExecuteVirtualProcess 113
GetBuildOption 113
GetFileVersionValue 113
GetCommandLine 114
GetCurrentProcessName 114
GetOSVersion 115
GetEnvironmentVariable 116
RemoveSandboxOnExit 116
SetEnvironmentVariable 116
SetfileSystemIsolation 117
SetRegistryIsolation 117
WaitForProcess 117
Glossary 119
Index 123
ThinApp User’s Guide
8 VMware, Inc.
VMware, Inc. 9
TheThinAppUser’sGuideprovidesinformationabouthowtoinstallThinApp,captureapplications,deploy
applications,andupgradeapplications.You canrefertothisguidetocustomizeparametersandperform
scripting.
Intended Audience
ThisbookisintendedforanyonewhoinstallsThinAppanddeployscapturedapplications.Typicalusersare
systemadministratorsresponsibleforthedistributionandmaintenanceofcorporatesoftwarepackages.
Document Feedback
VMwarewelcomesyoursuggestionsforimprovingourdocumentation.Ifyouhavecomments,sendyour
feedbacktodocfeedback@vmware.com.
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.
Customerswithappropriatesupportcontractsshouldusetelephonesupportforthefastestresponseon
priority1issues.Gotohttp://www.vmware.com/support/phone_support.
Support Offerings
TofindouthowVMwaresupportofferingscanhelpmeetyourbusinessneeds,goto
http://www.vmware.com/support/services.
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.
About This Book
ThinApp User’s Guide
10 VMware, Inc.
VMware, Inc. 11
1
TheThinAppsoftwareisolatesandcontainsapplications,simplifiesapplicationcustomizationand
deploymenttodifferentoperatingsystems,andeliminatesapplicationconflict.
Thisinformationincludesthefollowingtopics:
“ThinAppRequirements”onpage 11
“RecommendationsforInstallingThinApp”onpage 12
“InstallThinApp”onpage 13
“LocatingThinAppInstallationFiles”onpage 13
ThinApp Requirements
ReviewtherequirementsforoperatingsystemsandcapturedapplicationsbeforeinstallingThinApp.
Operating Systems, Applications, and Systems That ThinApp Supports
ThinAppsupportsthefollowingoperatingsystems,applications,andsystems:
32bitplatformsincludeWindowsNT,Windows2000,Windows XP,WindowsXPE,Windows2003
Server,WindowsVista,WindowsServer2008
64bitplatformsincludeWindowsXP64bit,Windows200364bit,WindowsVista64 bit,
Windows S er ver 2008 64bit
16bitapplicationsrunningon32bitWindowsoperatingsystems
32bitapplicationsrunningon32bitand64bitWindowsoperatingsystems
TerminalServerandCitrixXenapp
ThinAppsupportsJapaneseapplicationscapturedandrunonJapaneseoperatingsystems.
ThinAppdoesnotsupporttheseoperatingsystemsandapplications:
16bitornonx86platformssuchasWindowsCE
64bitapplicationsrunningon32bitor64bitWindowsoperatingsystems
16bitapplicationsrunningon64bitWindowsoperatingsystems
Installing ThinApp
1
ThinApp User’s Guide
12 VMware, Inc.
Applications That ThinApp Cannot Virtualize
ThinAppcannotconvert someapplicationsintovirtualapplicationsandmightblockcertainapplicationfunctions.
Youmustusetraditionalinstallationtechnologiestodeploythefollowingtypesofapplications:
Applicationsrequiringinstallationofkernelmodedevicedrivers
ODBCdriversworkbecausetheyareusermodedrivers.
Antivirusandpersonalfirewalls
Scannerdriversandprinterdrivers
SomeVPNclients
Device Drivers
ApplicationsthatrequiredevicedriversdonotworkwhenpackagedwithThinApp.Youmustinstallthose
devicedriversintheiroriginalformatonthehostcomputer.BecauseThinAppdoesnotsupportvirtualized
devicedrivers,youcannotuseThinApptovirtualizeantivirus,VPNclients,personalfirewalls,anddiskand
volumemountingrelated
utilities.
IfyoucaptureAdobeAcrobat,youcanopen,edit,andsavePDFfiles,butyoucannotseeorusethePDFprinter
driverthatallowsyoutosavedocumentstoPDFformat.
Shell Integration
SomeapplicationsthatprovideshellintegrationhavereducedfunctionswhentheyexistinaThinApp
package.Forexample,avirtualapplicationthatintegrateswithWindowsExplorercannotaddspecificentries
totheWindowsExplorercontextmenus.
DCOM Services that are Accessible on a Network
ThinAppisolatesCOMandDCOMservices.ApplicationsthatinstallDCOMservicesareaccessibleonthe
localcomputeronlybyothercapturedapplicationsrunninginthesameThinAppsandbox.ThinAppsupports
virtualDCOMandCOMonthesamecomputerbutdoesnotsupportnetworkDCOM.
Global Hook DLLs
SomeapplicationsusetheSetWindowsHookExAPIfunctiontoaddaDLLtoallprocessesonthehost
computer.TheaddedDLLinterceptsWindowsmessagestocapturekeyboardandmouseinputfromother
applications.ThinAppignoresrequestsfromapplicationsthatusetheSetWindowsHookExfunctiontotryto
installglobalhookDLLs.ThinApp
mightreducetheapplicationfunctions.
Recommendations for Installing ThinApp
WhenyouinstallThinApp,keepinmindtherecommendationsandbestpractices.
Using a Clean Computer
VMwarerecommendsusingacleancomputertoinstallThinAppbecausetheenvironmentaffectsthe
applicationcaptureprocess.AcleancomputerisaphysicalorvirtualmachinewithonlyaWindowsoperating
system.Inacorporateenvironmentwhereyouhaveabasedesktopimage,thebasedesktopimageisyour
cleancomputer.
Thedesktopcomputermightalreadyhavesomecomponentsandlibrariesinstalled.
Applicationinstallersskipfilesthatalreadyexistonthecomputer.Iftheinstallerskipsfiles,theThinApp
packagedoesnotincludethemduringtheapplicationcaptureprocess.Theapplicationmightfailtorunon
othercomputerswherethefilesdo
notexist.Acleancomputerallowsthecaptureprocesstoscanthecomputer
filesystemandregistryquickly.
Ifyouinst al lThinAppandcaptureanapplicationonacompute r thathas Microsoft.NET2.0alreadyinstalled,
.NET2.0isnotincludedintheThinApppackage.Thecapturedapplicationrunsonlyon
computersthathave
.NET2.0alreadyinstalled.
VMware, Inc. 13
Chapter 1 Installing ThinApp
Using Virtual Machines for Clean Computers
Theeasiestwaytosetupacleancomputeristocreateavirtualmachine.YoucaninstallWindowsonthe
virtualmachineandtakeasnapshotoftheentirevirtualmachineinitscleanstate.Afteryoucapturean
application,youcanrestorethesnapshotandrevertittoa
cleanvirtualmachinestatethatisreadyforthenext
applicationcapture.
YoucanuseVMwareWorkstationorotherVMwareproductstocreatevirtualmachines.Forinformation
aboutVMwareproducts,seetheVMwareWebsite.
Using the Earliest Operating System Required For Users
InstallThinApponacleanmachinewiththeearliestversionoftheoperatingsystemyouplantosupport.
In mostcases,theearliestplatformisWindows 2000orWindows XP.MostpackagescapturedonWindowsXP
workonWindows2000.In somecases,WindowsXPincludessomeDLLsthatWindows2000doesnothave.
ThinApp
excludestheseDLLSfromthecapturedapplicationpackageiftheapplicationtypicallyinstallsthese
DLLs.
AfteryoucreateaThinAppapplicationpackage,youcanoverwritefilesinthepackagewithupdatedversions
andrebuildtheapplicationwithoutthecaptureprocess.
Install ThinApp
UsetheThinAppexecutablefiletoinstallThinApp.
To install ThinApp software
1 DownloadThinApptoacleanphysicalorvirtualWindowsmachine.
2DoubleclicktheThinAppexecutablefile.
3InthePatentListsdialogbox,clickNext.
4Acceptthelicense,entertheserialnumber,andenteralicensedisplaynamethatappearswhenyoustart
applicationsthat
ThinAppcaptures.
5ClickInstall.
ThinAppisinstalled.
Locating ThinApp Installation Files
TheThinAppinstallationgeneratestheVMwareThinAppdirectoryinC:\Program Files\VMware.Youmight
needtolocatefilesinthisdirectorytoviewlicenseinformationorperformoperationssuchasstartingtheLog
Monitorutilitytoviewrecentactivity.
ThefollowingkeyfilesintheVMwareThinAppdirectoryaffectThinAppoperations:
AppSync.exeKeepscapturedapplicationsuptodatewiththelatestavailableversion.
logging.dllGenerates.tracefiles.
dll_dump.exeListsallcapturedapplicationsthatarecurrentlyrunningonasystem.
log_monitor.exeDisplaystheexecutionhistoryanderrorsofanapplication.
sbmerge.exeMergesruntimechangesrecordedintheapplicationsandboxwiththeThinAppproject
andupdatesthecapturedapplication.
SetupCapture.exeCapturesandconfiguresapplicationsthroughawizard.
snapshot.exeComparesthepreinstallationenvironmentandpostinstallationenvironmentduringthe
applicationcaptureprocess.
ThinAppstartsthisutilityduringthesetupcaptureprocess.
ThinApp User’s Guide
14 VMware, Inc.
snapshot.iniStoresentriesforthevirtualregistryandvirtualfilesystemthatThinAppignoresduring
theprocessofcapturinganapplication.
Thesnapshot.exefilereferencesthesnapshot.inifile.Advancedusersmightmodifythe
snapshot.inifiletoensureThinAppdoesnotcapturecertainentrieswhencreatinganapplication
package.
template.msiBuildstheMSIfiles.
Youcancustomizethistemplatetoensurethe.msifilesgeneratedbyThinAppadheretocompany
deploymentproceduresandstandards.Forexample,youcanaddregistrysettingsthatyouwant
ThinApptoaddtoclientcomputersaspartoftheinstallation.
thinreg.exeRegisterscapturedapplicationsonacomputer.
ThisregistrationincludessettingupshortcutsandtheStartmenuandsettingupfiletypeassociations
thatallowyoutostartapplications.
tlink.exeLinkskeymodulesduringthebuildprocessofthecapturedapplication.
vftool.exeCompilesthevirtualfilesystemduringthebuildprocessofthecapturedapplication.
vregtool.exeCompilesthevirtualregistryduringthebuildprocessofthecapturedapplication.
VMware, Inc. 15
2
YoucancaptureapplicationswiththeSetupCapturewizard.Thecaptureprocesspackagesanapplicationinto
avirtualenvironmentandsetsinitialapplicationparameters.Forinformationaboutcapturingapplications
fromthecommandline,seeAppendix C,“SnapshotCommandsandCustomization,”onpage 99.
ThisinformationusesMozillaFirefoxasakeyexamplefor
applicationcaptureandincludesthefollowing
topics:
“ReviewingtheCaptureProcess”onpage 15
“CaptureanApplicationwiththeSetupCaptureWizard”onpage 16
“A d v a n ce d PackageConfiguration”onpage 22
Reviewing the Capture Process
Thecaptureprocessinvolvesthefollowingphases:
Scanofabaselineimageofthecleanmachine.
InstallationoftheapplicationthatThinAppneedstocapture.
Configurationofsettingsspecifictotheapplication.
Forexample,settingFirefoxasadefaultbrowser,settingahomepage,andsettingdefaultsecurity
settings.
Scanofthemachineaftertheapplicationinstallation.
ThinAppassessesthedifferencesbetweentheinitialbaselineimageandthisimage.
ConfigurationofThinAppparameterstocustomizesuchareasasexecutablefilecompression,sandbox
location,anddomainuseraccesstoapplications.
Buildofthevirtualapplicationpackagefordistribution.
Assessing Application Dependencies Before the Capture Process
Beforecapturinganapplication,assesswhethertheapplicationhasanydependenciesonotherapplications,
libraries,orframeworksandwhethertocapturethesedependencies.VMwarerecommendsusingthe
ApplicationLinkutilitytolinkseparatecomponentsatruntime.SeeChapter 4,“UpdatingApplications,”on
page 39.
Closing Applications Before the Capture Process
Toprotectthefilesystem,VMwarerecommendsshuttingdownapplications,suchasvirusscans,thatmight
changethefilesystemwhileThinApptakessnapshots.
Capturing Applications
2
ThinApp User’s Guide
16 VMware, Inc.
Capture an Application with the Setup Capture Wizard
TheSetupCaptureprocesspackagesanapplicationandsetsinitialapplicationparameters.Ifyouuseavirtual
machine,considertakingasnapshotbeforeyourunthewizard.Asnapshotoftheoriginalcleanstateallows
youtoreverttothesnapshotwhenyouwanttocaptureanotherapplication.
Initiate the Capture Process with Prescan and Postscan Images
TheSetupCapturewizardstartsthecaptureprocessbytakingmultiplescansofthesystemtoassessthe
environmentbeforeandaftertheapplicationinstallation.
To start the capture process with prescan and postscan images
1 Downloadtheapplicationstocapture.
Forexample,downloadFirefoxSetup2.0.0.3.exeandcopyittothecleanmachineyouare
working with.
2Fromthedesktop,selectStart>
Programs>VMware>ThinAppSetupCapture.
3 (Optional)InthePrescanSystemdialogbox,clickAdvancedscanlocationstoselectthedriv esand
registryhivestoscan.
YoumightwanttoscanaparticularlocationotherthantheC:\driveifyouinstallapplicationstoa
differentdriv e.Inrarecases,
youmightwanttoavoidscanningaregistryhiveifyouknowthatthe
applicationinstallerdoesnotmodifytheregistry.
4ClickScantoestablishabaselinesystemimageoftheharddriveandregistryfiles.
Thescanningprocesstakesabout10secondsforWindowsXP.
5WhentheInstallApplicationpage
appears,minimizetheSetupCapturewizardandinstallthe
applicationstocapture.
Forexample,doubleclickFirefoxSetup2.0.0.3.exe to installFirefox.Iftheapplicationneedsto
rebootaftertheinstallation,rebootthesystem.TherebootrestartstheSetupCapturewizard.
6Makeanynecessaryconfigurationchangestocomplywithyourcompanypolicies,such
asusingspecific
securitysettingsoraparticularhomepage.
Ifyoudonotmakeconfigurationchangesatthistime,eachusermustmakechanges.
7 (Optional)Starttheapplicationandrespondtoanypromptsforinformationbeforeyoucontinuewiththe
SetupCapturewizard.
Ifyoudonotrespondtoany
promptsatthistime,eachuserwhousestheapplicationmustdosoduring
theinitialstart.
8Closetheapplication.
9 MaximizetheSetupCapturewizard,clickPostscantoproceedwithanotherscanofthemachine,and
clickOKtoconfirmthepostscanoperation.
ThinAppstoresthedifferencesbetweenthefirstbaselineimage
andthisimageinavirtualfilesystemand
virtualregistry.
Specify Application Shortcuts and Tracking Names
Entrypointsaretheexecutablefilesthatstartandprovideaccesstothevirtualapplication.Theentrypoints
youcanchoosefromdependontheexecutablefilesthatyourcapturedapplicationcreatesduringinstallation.
Forexample,ifyouinstallMicrosoftOffice,youcanselectentrypointsforMicrosoftWord,MicrosoftExcel,
andotherapplicationsthatare installedduringaMicrosoftOfficeinstallation.IfyouinstallFirefox,youmight
selectMozilla Firefox.exeandMozilla Firefox (SafeMode).exeifusersrequiresafemodeaccess.
VMware, Inc. 17
Chapter 2 Capturing Applications
DuringthebuildprocessthatoccursattheendoftheSetupCapturewizard,ThinAppgeneratesoneexecutable
fileforeachselectedentrypoint.IfyoudeploytheapplicationasanMSIfileorusethethinreg.exeutility,the
desktopandStartmenushortcutscreatedonenduserdesktopspointto
theseentrypoints.
ThinAppprovidesthefollowingentrypointstotroubleshootordebugyourenvironment:
cmd.exeStartsacommandpromptinavirtualcontextthatallowsyoutoviewthevirtualfilesystem.
regedit.exeStartstheregistryeditorinavirtualcontextthatallowsyoutoviewthevirtualregistry.
iexplore.exeStartsiexplore.exeinavirtualcontextthatallowsyoutotestvirtualized
ActiveX controls.
Entrypointsstartnativeexecutablefilesinavirtualcontext.Entrypointsdonotcreatevirtualpackagesof
cmd.exe,regedit.exe,oriexplore.exe.
Ifyoucannotpredicttheneedfordebuggingortroubleshootingtheenvironment, you
caninsteadusethe
DisabledparameterinthePackage.inifileatalatertimetoactivetheseentrypoints.See“Disabled”on
page 81.
Unlikeentrypoints,theprimarydatacontaineristheonlyfilethatcontainsthereadonlyvirtualfilesystem
andvirtualregistry.Youcandeterminetheprimarydata
containerfilebyselectinganentrypointorby
enteringanameforthecontainer.ThisnameappearsinthePackage.inifilefollowedbyaReadOnlyData
parameterline.See“ReadOnlyData”onpage 81.
TheinventorynamefacilitatesinternaltrackingoftheapplicationinthePackage.inifile.
To specify application shortcuts and tracking names in the Setup Capture wizard
1IntheSelectApplicationAccessShortcuts
page,selectthecheckboxesforuseraccessibleentrypoints.
ThewizardpopulatesthelistwithexecutablefilesthatThinAppinstalledduringthecaptureprocess,and
automaticallyselectstheexecutablefilesthatweredirectlyaccessiblethroughthedesktoporStartmenu
shortcuts.
2 (Optional)Ifyouwanttodebugyourenvironment,selectthe
Showentrypointsusedfordebugging
checkboxtoselecttheiexplore.exe,regedit.exe,andcmd.exeentrypointsinthelist.
3 Selecttheprimarydatacontainer,thefilethatstoresvirtualfilesandregistryinformation,fromthelist
basedontheselectedentrypoints.
Ifthesizeoftheprimarycontainerissmallerthan200MB,ThinAppcreatesa.exefileastheprimary
container.ForasmallapplicationsuchasFirefox,any.exefilecanserveasthemaindatacontainer.
Ifthesizeoftheprimarycontainerislargerthan200MB,ThinAppcreatesaseparate.datfileasthe
primarycontainerbecauseWindowsXPandWindows2000cannotshowshortcuticonsforlarge
.exefiles.Generatingseparatesmall.exefilesalongwiththe.datfilefixestheproblem.
Ifthesizeoftheprimarycontainerisbetween200MBand1.5GB,ThinAppcreatesthedefault.dat
fileunlessyouselecta.exefiletooverridethedefault.datfile.
4Ifyouselecta.exefiletooverridethedefault.datfilewhensizeoftheprimarycontainerisbetween
200MB
and1.5GB,ignorethegeneratedwarning.
Selectinga.exefileallowsallapplicationstoworkproperlybutmightprev enttheproperdisplayoficons.
5Ifyoucannotselectaprimarydatacontainer,typeaprimarydatacontainername.
IfyouplantousetheApplicationSyncutilitytoupdateacapturedapplication,ThinAppusestheprimary
datacontainernameduringtheprocess.Youmustusethesamenameacrossmultipleversionsofthe
application.Youmightnotbeabletoselectthesameprimarydatacontainernamefromthelist.
For example,MicrosoftOffice2003andMicrosoftOffice2007donothavecommonentry
pointnames.
6 (Optional)ChangetheinventorynamethatThinAppusesforinternaltrackingoftheapplicationinthe
Package.inifile.
Usingthethinreg.exeutilityordeployingthecapturedapplicationasanMSIfilecausestheinventory
nametoappearintheAddorRemoveProgramsdialogboxforWindows.
ThinApp User’s Guide
18 VMware, Inc.
Specify User Groups and Sandbox Data Locations
ThinAppcanuseActiveDirectorygroupstoauthorizeaccesstotheapplicationandsandboxlocation.
For example,youmightrestrictaccesstoanapplicationtoensureusersdonotpassittounauthorizedusers.
ThinAppdoesnotsupportnestedActiveDirectorygroups.Forexample,ifauserisamemberofgroup
A,and
groupAisamemberofgroupB,ThinAppcanonlydetecttheuserasamemberofgroupAratherthan
group AandgroupB.
Thesandboxisthedirectorywhereallchangesthatthecapturedapplicationmakesarestored.Thenexttime
youlaunchtheapplication,those
changesareincorporatedfromthesandbox.Whenyoudeletethesandbox
directory,theapplicationrevertstoitscapturedstate.Youmightdeleteasandboxwhenanapplicationhasa
problemandyouwanttoreverttheapplicationbacktotheworkingoriginalstate.Formoreinformationabout
thesandbox,see
Appendix B,“ThinAppSandbox,”onpage 95.
To specify user groups and sandbox locations in the Setup Capture wizard
1 (Optional)IntheSetUpUserGroupsandSandboxLocationpage,clickAddtospecifyActiveDirectory
information.
2 SelecttheThinAppsandboxlocation.
Youcandeployittoalocalusermachine,carryitonamobileUSBstick,orstoreitinanetworklocation.
If
youdeploythesandboxtoalocalmachine,usetheusersprofile.Ifyoustorethesandboxinanetwork
drive,entertheabsolutepathtothelocationwhereyouwantthesandboxcreated.Asamplepathis
\\thinapp\sandbox\Firefox.Youcanselectanetworklocationevenifanapplicationis
installedona
localmachine.
Specify File System Access
Isolationmodeshelpdeterminethechangesthataffectthevirtualenvironmentandthephysicalenvironment.
Duringthecaptureprocess,youcansetMergedandWriteCopyisolationmodestodeterminedifferentlev els
ofwriteaccesstothephysicalfilesystem.ThewizarddoesnotprovidetheFullisolationmodeoption.
For informationabout
theFullisolationmodethatisavailableoutsideofthewizard,see“ModifyingIsolation
Modes”onpage 23.
ThekeyeffectoftheselectionofMergedandWriteCopyisolationmodeswithintheSetupCapturewizardis
onthevalueoftheDirectoryIsolationModeparameterinthePackage.inifile.Thisparametercontrolsthe
default
isolationmodeforthefilescreatedbythecaptureprocessexceptwhenadifferentisolationmodeexists
inthe##Attributes.inifileforanindividualdirectory.Forinformationaboutthe
DirectoryIsolationModeparameter,see“DirectoryIsolationMode”onpage 64.
Mergedisolationmodeallowstheapplicationtomodifyelementsonthephysicalfilesystemoutsideof
the
virtualapplicationpackage.SomeapplicationsrelyonDLLsandregistryinformationinthelocalsystem
image.TheadvantageofusingMergedmodeisthatdocumentssavedbyusersenduponthephysicalsystem
inthelocationexpectedbyusers,insteadofinthesandbox.Thedisadvantageisthat
thismodemightclutter
thesystemimage.Anexampleoftheresiduemightbefirstexecutionmarkersbysharewareapplications
writtentorandomcomputerlocationsaspartofthelicensingprocess.
Option Action
ObjectTypes Specifiesobjects.
Locations Specifiesalocationintheforest.
Objectnames(manuallyenter) Searchesforobjectnames.
Advanced LocatesusernamesintheActiveDirectoryforest.
CommonQueries(underAdvanced)Searchesforgroupsaccordingtonames,descriptions,disabledaccounts,
passwords,anddayssincelastlogin.
VMware, Inc. 19
Chapter 2 Capturing Applications
WhenyouselecttheMergedisolationmodeintheSetupCapturewizard,ThinAppcompletesthefollowing
operations:
ThinAppsetstheDirectoryIsolationModeparameterinthePackage.inifiletoMerged.
ThinAppassignstheMergedisolationmodetothefollowingdirectories:
%Personal%
%Desktop%
%SystemSystem%\spool
IfyousavedocumentstothedesktopandMy Documentsfolder,ThinAppsavesthedocumentstothe
physicalsystemregardlessoftheMergedmodeselectionbecauseMergedmodeaffectsdocumentssaved
togloballocationssuchasC:\myfiles.
ThinAppexcludessomelocationsfromtheMergedisolationmodeandassignstheWriteCopyisolation
modetothefollowingdirectoriesandtheirsubdirectories:
%AppData%
%Common AppData%
%Local AppData%
%Program Files Common%
%ProgramFilesDir%
%SystemRoot%
%SystemSystem%
ThinAppassignstheFullisolationmodetoanynewdirectoriesthattheapplicationcreatesduringthe
installation.
TheMergedoptionintheSetupCapturewizardhasthesameeffectastheMergedmodesettinginthe
Package.inifile,butthedirectoryexceptionsthatuseWriteCopyisolationmodeapplyonlytothe
wizard
option.Thewizardconfiguresthedirectoryexceptionsforyouandadds##Attributes.inifileswithinthe
directories.Toachievethesameresultoutsideofthewizard,youmustconfigurethesedirectoryexceptions
manually.
WriteCopyisolationmodeallowsThinApptointerceptwriteoperationsandredirectthemtothesandbox.
VMwarerecommendsWriteCopy
modeforlegacyoruntrustedapplications.Althoughthismodemightmake
itdifficulttolocateuserdatafilesthatresideinthesandboxinsteadoftheactualsystem,thismodeisuseful
forlockeddowndesktopswhereyouwanttopreventusersfromaffectingtheoperatingfilesystemand
registryfiles.
WhenyouselecttheWriteCopyisolationmodeintheSetupCapturewizard,ThinAppcompletesthe
followingoperations:
ThinAppsetstheDirectoryIsolationModeparameterinthePackage.inifiletoWriteCopy.
ThinAppassignstheWriteCopyisolationmodetothefollowingdirectories:
%AppData%
%Common AppData%
%Local AppData%
%Program Files Common%
%ProgramFilesDir%
%SystemRoot%
%SystemSystem%
ThinApp User’s Guide
20 VMware, Inc.
ThinAppassignstheMergedisolationmodetothefollowingdirectories:
%Personal%
%Desktop%
%SystemSystem%\spool
ThinAppassignstheFullisolationmodetoanynewdirectoriesthattheapplicationcreatesduringthe
installation.
TheWriteCopyoptionintheSetupCapturewizardhasthesameeffectastheWriteCopyisolationmode
settinginthePackage.inifile,butthedirectoryexceptionsapplyonlytothewizardoption.Thewizard
configuresthedirectoryexceptionsforyouandadds##Attributes.inifileswithinthedirectories.
To achievethesameresultoutsideofthewizard,youmustconfigurethesedirectoryexceptionsmanually.
Regardlessoftheselectedisolationmode,ThinApptreatswriteoperationstonetworkdrivesaccordingtothe
SandboxNetworkDrivesparameterinthePackage.inifile.This
parameterhasadefaultvalueof0that
directswriteoperationstothephysicaldrive.ThinApptreatswriteoperationstoremovabledisksaccording
totheSandboxRemovableDrivesparameterinthePackage.ini.Thisparameterhasadefaultvalueof0that
directswriteoperationstothephysicaldrive.
Allruntimemodificationstovirtual
elementsinthecapturedapplicationarestoredinthesandbox,regardless
oftheisolationmodesetting.Atruntime,virtualandphysicalregistryelementsareindistinguishabletoan
application,butvirtualregistryelementsalwayssupersedephysicalregistryelementswhenbothexistinthe
samelocation.Ifvirtualandphysicalentriesexist
atthesamelocation,isolationmodesdonotaffectaccessto
theseentriesbecausetheapplicationalwaysinteractswithvirtualelements.Ifexternalgrouppolicyupdates
occurseparatelyfromthepackagethroughthephysicalregistry,youmightneedtoremovevirtualregistry
elementsfromapackageandverifythattheparent
elementofthesevirtualregistryelementsdoesnotuseFull
isolation.Becausechildelementsinheritisolationmodesfromparentelements,Fullisolationinaparent
elementcanblockthevisibilityofphysicalchildelementstoanapplication.
To specify file system access in the Setup Capture wizard
IntheSpecifyFileSystemAccesspage,selecttheisolationmodetodetermine
whichfilesandregistrykeys
arevisibleandwrittenbythevirtualapplicationyoucreate.
Specify Application Delivery Settings
Youcanspecifythefileformatofanapplication,thesizeofthepackage,andthelocationofaThinAppproject.
Theprojectisthedatacreatedbythecaptureprocess.Youcannotrunordeploythecapturedapplicationuntil
youbuildapackagefromtheprojectfiles.Thepackageis
theexecutablefileorMSIfilewithexecutablefiles
thatyouusetorunordeployacapturedapplication.
AtypicalFirefoxapplicationdoesnotrequireanMSIinstallation.Butotherapplications,suchasMicrosoft
Office,thatintegratewithapplicationdeliverytools,workwellasanMSIpackage.MSIgenerationrequires
youtoinstalltheMSIonthetargetdevicebeforeyoucanusetheapplicationpackage.
MSIpackagesautomatetheprocessofregisteringfiletypeassociations,registeringdesktopandStartmenu
shortcut,anddisplayingcontrolpanelextensions.IfyouplantodeployThinAppexecutablesdirectlyoneach
machine,youcanaccomplish
thesameregistrationusingthethinreg.exeutility.
FormoreinformationaboutMSIfiles,see“BuildinganMSIDatabase”onpage 29.
Option Action
Merged Allowstheapplicationtoreadresourcesonandwritetothelocalmachine
WriteCopy Allowstheapplicationtoreadresourcesonthelocalmachineandrestrictmostmodificationstothesandbox.
ThinAppcopiesphysicalfilesystemchangestothesandboxtoensureThinApponlymodifiescopiesof
filesinsteadoftheactual
files.
/