• 沒有找到結果。

• Deployed package contents (p. 39)

Source package contents

The source package root folder contains two folders, along with a list of files.

ProgData folder — Contains the directory structure and files of the packaged application, captured during the EMP packaging process.

Source package contents

EngineBinaries folder — Contains the EMP package engine binaries, which support both 32-bit and 64-bit Windows operating systems. During deployment, package deployment detects the bit rate of the operating system and deploys the appropriate engine binaries into the deployed package. Both 32-bit and 64-32-bit binaries are deployed into 64-32-bit Windows operating systems.

Files

Compatibility.Package.Engine.exe — The compatibility package redirection (virtualization) engine.

When the entry point of an application is invoked, the engine is launched with the arguments required to load the target application process as a child process of the engine. As a result, the engine is able to intercept and redirect calls from the process.

Compatibility.Package.Engine.Launcher.x64.exe — Along with its 32-bit counterpart, this executable file an out-of-process COM server launcher. For packages running on 32-bit Windows operating systems, only the x86 program is required. However, both programs are required on 64-bit Windows operating systems.

Compatibility.Package.Engine.x64.dll — Along with its 32-bit counterpart, this .dll is a library that is used by the compatibility package engine. Both libraries are required for a package to run on a 64-bit Windows operating system. However, only the 32-bit library is required for 32-bit Windows operating systems.

HookYou.exe and HookMe.dll — These files provide an alternative method to virtualize a process when it has not been started by the package engine.

Other source package files

_metadata.json — Contains EMP package metadata.

{"PackageId": "SQL2005EXP_9482",

Compatibility.Package.Deployment.exe — The package deployment program, called with

arguments to deploy, update, or uninstall an EMP package. By default, it logs deployment events to a text file located at the root of the package folder. This program eliminates the need to install an agent on the target operating system.

Compatibility.Package.Deployment.exe.config — Used to pass settings to the executable file, for example, the logging level. The default level is INFO.

DeploymentWorkFlowLog.txt — The log file created by the package deployment program. Contains a log of deployment events according to the log level in Compatiblity.Package.Deployment.exe.config.

AppRegistry.xml — The main registry file for the package. Contains most of the registry data of the packaged applications.

<RegistryOperations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

NeedToBeDecoded="true" ValidateWrite="false">

<Write>

<KeyName>HKEY_CURRENT_USER\Software\AWSEMP\Compatibility.Package\%GUID%\HKLM\SYSTEM

\CurrentControlSet\services\eventlog\Application\Visual Studio - VsTemplate</KeyName>

<ValueName>EventMessageFile</ValueName>

<Value ValueType="ExpandString">%ProgramFilesX86%\Microsoft Visual Studio 8\Common7\IDE\msenv.dll</Value>

</Write>

<Write>

<KeyName>HKEY_CURRENT_USER\Software\AWSEMP\Compatibility.Package\%GUID%\HKLM\SYSTEM

\CurrentControlSet\services\eventlog\Application\Visual Studio - VsTemplate</KeyName>

Source package contents <Value ValueType="DWord">7</Value>

</Write>

ComDeployment.xml — Contains instructions for deploying out-of-process COM servers, COM+, and DCOM components. The setting Enabled="true" denotes that the deployment of out-of-process COM servers, as well as COM+ and DCOM components, occurs during package deployment so that they are immediately available. You may want to set Enabled="false" to prevent this kind of deployment for some troubleshooting scenarios.

<COM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Enabled="true">

<OutOfProcServers>

<OutOfProcServer>

<Path>%DefaultDir%\ProgData\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\devenv.exe</Path>

</OutOfProcServer>

</OutOfProcServers>

</COM>

Compatibility.Package.Run.exe — The program that serves as the entry point into the EMP package. When invoked, it verifies that the registry is loaded and consistent with the registry files contents. If not, it loads the package registry before launching the engine with arguments to launch the target application program. By default, it logs high-level run events to a text file located at the root of the package folder.

Compatibility.Package.Run.exe.config — Used to pass settings to the package deployment executable, for example, the logging level.

Compatibility.Package.Engine.clc — The package engine configuration file. Used to apply settings, such as compatibility features, links to other EMP packages, engine detach, and process exclusion from redirection.

The following is a sample of the default file that is included in each package.

<AAV PackageId="SQL2005_7206">

<Includes>

<Include>Redirections.xml</Include>

</Includes>

<Excludes>

<Exclude>SomeExecutable.exe</Exclude>

</Excludes>-->

<Detaches>

<Detach>SomeExecutable.exe</Detach>

</Detaches>-->

<COM>

<CLSID ID="" Excludes="false">

<Registration ConnectionType = "MultiUse"/>

</CLSID>

</COM>-->

<Features>

<Feature>DEPOptOut</Feature>

<Feature>HandleInvalidHandle</Feature>

<Feature>NetworkRedirection</Feature>

<Feature>LocalMappedObjectShim</Feature>

<Feature>NotWow64Process</Feature>

<Feature>ForceWindowsVersion</Feature>

<Feature>COMVirtualization</Feature>

</Features>

-->

<Features>

Source package contents </Features>

</AAV>

Contents

Includes — Element that specifies the Redirections.xml of the current package. No path is required because it exists in the root folder of the packages. Other packages can be linked to the current package by adding their Redirections.xml files here. For more information, see Link EMP packages (p. 60).

Excludes and Detaches — For more information, see Exclude or detach a process from the package redirection rules (p. 64).

COM — Element that specifies class IDs (CLSIDs) that must be excluded from

COMVirtualization. For more information, see the steps for excluding CLSIDs from

COMVirtualization under Enable support for out-of-process Common Object Model (COM) in an EMP package (p. 62).

Features — See EMP compatibility package features (p. 44).

ComRegistryKeys.xml — Contains the COM, DCOM, and COM+ registration data of the packaged application.

DeploymentScript.xml — Introduces custom configurations into an EMP package. See Managing EMP custom configurations (p. 58).

EMP.TelemetryClient.exe — Program that collects some basic operational information about the usage of EMP to improve the product. The ability of EMP to send telemetry data to AWS is mandatory to deploy packages. For more information, see Deploy an EMP package (p. 39).

For data collected, see Data collected by the AWS End-of-Support Migration Program (EMP) for Windows Server (p. 69).

EMP.TelemetryClient.exe.config — Passes settings to the Telemetry Client, for example, the AWSProfileName.

EnvironmentVariables.xml — Contains the captured environment variables that are required to be available to the virtualized application.

<Variables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Variable Name="Path" Append="true" IsEncoded="false" Value="C:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\" />

</Variables>

FileAssociations.xml — Contains the file associations registration data for the packaged application.

<RegistryOperations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

NeedToBeDecoded="true" ValidateWrite="false"> <Write>

<KeyName>HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.xdl</KeyName>

<ValueName></ValueName>

<Value ValueType="String">ssmsee.xdl.9.0_SQL2005_7206</Value>

</Write>

<Write>

<KeyName>HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ssmsee.xdl.9.0_SQL2005_7206</KeyName>

<ValueName></ValueName>

<Value ValueType="String">Microsoft SQL Server Deadlock File</Value>

</Write>

Programs.xml — Specifies how EMP launches the programs of the packaged application. Each set of instructions for running a program is called a RunCondition. The RunCondition is an argument that is passed to Compatibility.Package.Run.exe. Each run condition (run1, run2, and so on) is a launch instruction to package run, which contains an argument to pass to the package engine.

The package engine specifies what application program to launch, in what directory, for how long, and includes any arguments to be passed to it.

Source package contents

<Programs xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Program>

<RunCondition>run1</RunCondition>

<ProcessWindowStyle>Normal</ProcessWindowStyle>

<Path>%DefaultDir%\Compatibility.Package.Engine.exe</Path>

<Args>/f "%DefaultDir%\ProgData\Program Files (x86)\Microsoft SQL Server\90\Tools

\Binn\VSShell\Common7\IDE\ssmsee.exe" %FILEARGS%</Args>

<WorkingDirectory />

<WaitCondition TimeoutInSeconds="0">None</WaitCondition>

</Program>

Redirections.xml — The redirection instruction set to the package engine, which specifies which file, folder, or registry key requests should be redirected and to where. It also contains a duplicate of some of the content of the CLC file, which allows it to be configured with compatibility package features, COM exclusions, process exclusions or detaches, as required, when it is used to link the package to another compatibility package.

The following are examples of file, folder, and registry redirection rules.

<ExactMatch>

<From>%SystemX86%\SQLServerManager.msc</From>

<To>ProgData\Windows\SysWOW64\SQLServerManager.msc</To>

</ExactMatch>

<FolderMatch>

<From>%ProgramFiles%\Microsoft SQL Server</From>

<To>ProgData\Program Files\Microsoft SQL Server</To>

</FolderMatch>

<KeyMatch>

<From>HKLM\SYSTEM\CurrentControlSet\services\SQLWriter</From>

</KeyMatch>

Report.json — Contains a report on any unsupported application features detected during the package build, for the attention of the packaging engineer.

The following is a sample report for an unsupported COM+ property.

[{"Level": "Warn",

"Category": "COM+",

"Message": "COM+ application DotNetTestMultiCOMPlusApp is using roles for managing the the security. At the moment roles are not ported across in the compatibility package.

Please recreate all the roles on target machine manually after deploying the package.

Please ensure you configure the roles at component, interface and method level similar to how they are configured at source machine."

}]

Services.xml — Contains instructions to configure any Windows services captured during packaging.

ImagePath specifies the package run program with a run condition. The run condition is detailed in the Program.xml file. So, although services are installed natively, the service image is virtualized.

<Services xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<Service>

<Name>MSSQL$SQLEXPRESS</Name>

<ImagePath>%DefaultDir%\Compatibility.Package.Run.exe /RunConditions run5</

ImagePath>

相關文件