4
Add the information in the system registry.
RegEditPid = ExecuteExternalProcess("regedit /s " & chr(34) & RegFileName & chr(34))
WaitForProcess RegEditPid, 0
Wait until the process is complete.
5
Clean the environment.
fso.DeleteFile(RegFileName)
End Function
API Functions
You can use API functions that instruct ThinApp to complete operations such as load DLLs as virtual DLLS,
convert paths from macro format to system format, and run commands inside of the virtual environment.
AddForcedVirtualLoadPath
The AddForcedVirtualLoadPath(Path) function instructs ThinApp to load all DLLs from the specified path
as virtual DLLs even if they are not located in the package.
Use this function if the application needs to load external DLLs that depend on DLLs located inside the
package.
You can use the ForcedVirtualLoadPaths parameter in the Package.ini file to achieve the same result as
this API function. See "ForcedVirtualLoadPaths" on page 75.
Parameters
Path
[in] The filename or path for DLLs to load as virtual.
Examples
You can load any DLL located in the same directory as the executable file as a virtual DLL.
Origin = GetEnvironmentVariable("TS_ORIGIN")
TS_ORIGIN is the path from which the executable file is running.
You can delete the filename from TS_ORIGIN by finding the last backslash and removing all of the characters
that follow it.
LastSlash = InStrRev(Origin, "\")
SourcePath = Left(Origin, LastSlash)
You can instruct ThinApp to load all DLLs in the same or lower directory from where the source executable
file resides.
AddForcedVirtualLoadPath(SourcePath)
This process enables you to drop additional files in the SourcePath tree and have them resolve import
operations against virtual DLLs.
ExitProcess
The ExitProcessExitCode function quits the current process and sets the specified error code.
Parameters
ExitCode
[in] The error code to set. This information might be available to a parent process. A value of 0 indicates no
error.
VMware, Inc.
Chapter 9 Creating ThinApp Scripts
119