VMware THIN4-CL-C Getting Started Guide - Page 16

Registry Data Remapping, Short Path Names

Page 16 highlights

Introduction to VMware ThinApp When an application is running that installs Macromedia Flash dynamically or during the capture process (for example, Firefox or Internet Explorer), the registry stores the path C:\WINDOWS\system32, and files are written to c:\windows\system32\macromed\flash. If the application is moved to another PC where the Windows root directory is different (for example c:\winnt on Windows 2000), the application fails to work unless both the files and registry keys are remapped to point to c:\winnt. The ThinApp virtual file system stores file paths using folder macros, so the file paths automatically point to the correct location on different PCs. ThinApp stores registry data using the same folder macros, so that registry values automatically readjust to point to the correct location on a different PC. For example, when the application writes the registry value C:\WINDOWS\system32\Macromed\Flash\Flash9b.ocx, ThinApp stores this internally as %SystemSystem%\Macromed\Flash\Flash9b.ocx. When the application queries for this value, it transparently expands back to C:\WINDOWS\system32\Macromed\Flash\Flash9b.ocx when running on Windows XP, Windows 2003, Windows Vista, and C:\winnt\system32\Macromed\Flash\Flash9b.ocx when running on Windows 2000 or Windows NT. Registry Data Remapping ThinApp intercepts all data written to the registry and seeks references to short path names or shell folders. If any references are found, it internally stores the registry data in macro format so that the data re‐expands to the correct location on other PCs. Short Path Names ThinApp sits above the Windows loader and file system, and correctly handles short path names (DOS 8.3 file names). For example, applications like Microsoft Office have a large number of registry values that contain entries like C:\PROGR~1\MICROS~3, but on other computers, the virtual files might actually appear to exist at C:\PROGRA~1\MICROS~4. Because of this, various COM components fail to work at runtime. Many applications do not install or run properly when a non‐default path is used. ThinApp uses dynamic macro expansion for all registry and filename information to address the short path name issue. At runtime, ThinApp filters registry and filename data to replace short paths with macro versions that re‐expand to the correct location on new computers. In this scenario, registry values automatically readjust to point to the correct locations when the package is run on a different computer. Short path names are DOS 8.3 compatible names that map into their long path name equivalents. For example C:\PROGR~1 is the short path name version of C:\Program Files. Short path names are important for most applications for several reasons: „ Short path names eliminate spaces from paths that prevent some compatibility and security issues. For example, when executing the command C:\Program Files\Microsoft Office\OFFICE11\winword.exe c:\Myfile.doc using ShellExecute, Windows attempts a number of possible commands to see if they are valid: c:\Program.exe "Files\Microsoft Office\OFFICE11\winword.exe c:\Myfile.doc" c:\Program Files\Microsoft.exe "Office\OFFICE11\winword.exe c:\Myfile.doc" c:\Program Files\Microsoft.exe Office\OFFICE11\winword.exe "c:\Myfile.doc" If you create the file c:\Program.exe on a PC, it might causes problems when you are using Microsoft Office and might also create a security problem. „ Short path names enable compatibility with legacy applications-16‐bit applications must use DOS 8.3 filename paths. When Windows runs 16‐bit applications, it provides applications with the short path name version for all filenames. 16 VMware, Inc.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

Introduction to VMware ThinApp
16
VMware, Inc.
When an application is running that installs Macromedia Flash dynamically or during the capture process (for
example, Firefox or Internet Explorer), the registry stores the path
C:\WINDOWS\system32
, and files are
written to
c:\windows\system32\macromed\flash
. If the application is moved to another PC where the
Windows root directory is different (for example
c:\winnt
on Windows 2000), the application fails to work
unless both the files and registry keys are remapped to point to
c:\winnt
.
The ThinApp virtual file system stores file paths using folder macros, so the file paths automatically point to
the correct location on different PCs. ThinApp stores registry data using the same folder macros, so that
registry values automatically readjust to point to the correct location on a different PC. For example, when the
application writes the registry value
C:\WINDOWS\system32\Macromed\Flash\Flash9b.ocx
, ThinApp
stores this internally as
%SystemSystem%\Macromed\Flash\Flash9b.ocx
. When the application queries for
this value, it transparently expands back to
C:\WINDOWS\system32\Macromed\Flash\Flash9b.ocx
when
running on Windows XP, Windows 2003, Windows Vista, and
C:\winnt\system32\Macromed\Flash\Flash9b.ocx
when running on Windows 2000 or Windows NT.
Registry Data Remapping
ThinApp intercepts all data written to the registry and seeks references to short path names or shell folders. If
any references are found, it internally stores the registry data in macro format so that the data re
expands to
the correct location on other PCs.
Short Path Names
ThinApp sits above the Windows loader and file system, and correctly handles short path names (DOS 8.3 file
names).
For example, applications like Microsoft Office have a large number of registry values that contain entries like
C:\PROGR~1\MICROS~3
, but on other computers, the virtual files might actually appear to exist at
C:\PROGRA~1\MICROS~4
. Because of this, various COM components fail to work at runtime.
Many applications do not install or run properly when a non
default path is used. ThinApp uses dynamic
macro expansion for all registry and filename information to address the short path name issue.
At runtime, ThinApp filters registry and filename data to replace short paths with macro versions that
re
expand to the correct location on new computers. In this scenario, registry values automatically readjust to
point to the correct locations when the package is run on a different computer. Short path names are DOS 8.3
compatible names that map into their long path name equivalents. For example
C:\PROGR~1
is the short path
name version of
C:\ProgramFiles
.
Short path names are important for most applications for several reasons:
Short path names eliminate spaces from paths that prevent some compatibility and security issues. For
example, when executing the command
C:\Program Files\Microsoft
Office\OFFICE11\winword.exe c:\Myfile.doc
using ShellExecute, Windows attempts a number of
possible commands to see if they are valid:
c:\Program.exe
"Files\Microsoft Office\OFFICE11\winword.exe c:\Myfile.doc"
c:\Program Files\Microsoft.exe
"Office\OFFICE11\winword.exe c:\Myfile.doc"
c:\Program Files\Microsoft.exe Office\OFFICE11\winword.exe
"c:\Myfile.doc"
If you create the file
c:\Program.exe
on a PC, it might causes problems when you are using Microsoft
Office and might also create a security problem.
Short path names enable compatibility with legacy applications—16
bit applications must use DOS 8.3
filename paths. When Windows runs 16
bit applications, it provides applications with the short path
name version for all filenames.