> For the complete documentation index, see [llms.txt](https://awsnotes.dendron.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://awsnotes.dendron.so/compute/aws-end-of-support-migration-program-emp-for-windows-server/topics/working-with-emp-packages.md).

# Working with EMP packages

{% hint style="info" %}
This page was generated from content adapted from the [AWS Developer Guide](https://github.com/awsdocs/emp-user-guide.git)
{% endhint %}

## Compatibility package features

* **Note**\
  This feature, when enabled, causes the printer driver host for 32-bit applications (`SPLWOW64.exe`) to fail, and must be excluded if the packaged application launches it.
* **Note**\
  Apply the Microsoft server naming conventions described at <https://docs.microsoft.com/en-us/troubleshoot/windows-server/identity/naming-conventions-for-computer-domain-site-ou>. These are the only naming conventions supported.

## Edit, upgrade, and maintain packages

* **Important**\
  You must use the Package Editor to update an EMP package on the same architecture on which the original package was created. For example, if the package was created on an x86 machine, then the Editor must update the package on an x86 machine.

## Update a deployed package

* **Important**\
  If you attempt to use the `/deploydir` switch when a package has already been deployed, a `Failed to deploy' exit code -1` error will be returned. The `/update` switch must be used to update the package to the latest version, or the `/uninstall` switch must be used to remove the package first.
* **Note**\
  The `/update` switch preserves any values that appear in the registry that are not specified in the source file. If the file type associations source file (`FileAssociations.xml`) in the new package is different from the one in the currently deployed package, `/update` deletes the registry values that do not appear in `FileAssociations.xml` and updates values and types that have changed.

## Uninstall a package

* **Note**\
  If you run this command from the deployed location, the uninstall will be incomplete. Verify that the package is uninstalled from the correct source path.

## Enable logging

* **Note**\
  `LocalAppData` resolves to a special location for the `SYSTEM` account: `C:\Windows\System32\config\systemprofile\AppData\Local`.

## Enable out-of-process COM

* **Note**\
  The `COMVirtualization` feature is not required if the application uses in-process COM objects. Applications that use in-process COM objects behave as expected without enabling the feature.

## Exclude or detach a process

* **Important**\
  The virtualization and redirection engine of the package will detach from the parent process once virtualization is complete. Any child processes will not be virtualized, and the detached process will not benefit from `DEPOptOut` or `HandleInvalidHandle`, even if these features are enabled.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://awsnotes.dendron.so/compute/aws-end-of-support-migration-program-emp-for-windows-server/topics/working-with-emp-packages.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
