thinapp50 manual

Upload: surjeet-singh-saran

Post on 02-Jun-2018

216 views

Category:

Documents


0 download

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:

    [email protected]

    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

    [email protected]

    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