17/12/2014 AppZero Application Migration Guide AppZero Application Migration Guide Introduction This document provides instructions for planning, creating, migrating, and dissolving Virtual Application Appliances (VAAs) using the AppZero Application Migration and AppZero Dissolve features. The intended audience is administrators and those responsible for creating VAAs and migrating applications. Notices Copyright © 200714 AppZero Software Corp. All rights reserved. Notice: All information contained herein is the property of AppZero Software Corp. No part of this document (whether in hardcopy or electronic form) may be reproduced or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of AppZero Software Corp. This document is protected by copyright and distributed under a license restricting its duplication, distribution and use. No part of this guide may be reproduced, adapted, or translated in any form by any means without the prior written consent of AppZero. Please consult the license under which this document was acquired in order to review all of the applicable restrictions. AppZero and the AppZero logo are trademarks or registered trademarks of AppZero Software, and may be registered in certain jurisdictions. Other AppZero graphics and logos are trademarks or trade dress of AppZero. Red Hat and all Red Hatbased trademarks and logos are trademarks or registered trademarks of Red Hat, Inc. in the United States and other countries. Linux is a registered trademark of Linus Torvalds in the U.S. and other countries. UNIX is a registered trademark of The Open Group. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Other company, product, and service names may be trademarks, registered trademarks, or service marks of their respective owners. This publication and the information contained herein are subject to change without notice and are provided pursuant to the terms of the software license agreement to which it relates. All works provided by AppZero herein are provided on an "as is" basis and there are no warranties, representations or conditions, express or implied, written or oral, arising by statute, operation of law, course of dealing, usage of trade or otherwise, regarding them by AppZero (including its affiliates, licensors, suppliers, subcontractors and distributors). AppZero including its affiliates, licensors, suppliers, subcontractors and distributors disclaim any implied warranties or conditions of quality, merchantability, durability, fitness for a particular purpose and noninfringement. AppZero Software Corp 1 Hines Road, Suite 105 Ottawa, ON K2K 3C7 +16132545432 +16132549899 300 Brickstone Square, Suite 201 Andover, MA 01810 +16178205126 +18664446670 [email protected] www.appzero.com Abbout AppZero AppZero™ creates, controls, and maintains Virtual Application Appliances (VAAs). VAAs decouple an application from the operating system and its underlying infrastructure. The result is a single file that encapsulates an application with its dependencies, including executable libraries, files/registry, configuration settings, and services. The VAA can be freely moved and managed without reconfiguring either the application or the operating system. Isolated from the underlying infrastructure, VAAs can be easily moved among servers (physical or virtual) onpremise or in the cloud. This isolation makes it easy for both legacy and new applications to move as needed from machine to machine, regardless of infrastructure changes, cloud provider, and differing virtual and physical machine configurations, including hypervisor technology. Other AppZero Resources The resources in the following table can help you learn more about AppZero. For information about See Important and late breaking information AppZero Release Notes AppZero Support AppZero Support Other services and products www.appzero.com http://docs.stage.appzero.com/book/export/html/812 1/45 17/12/2014 AppZero Application Migration Guide Conventions Convention Meaning option CLI options appear in Courier font. command CLI commands appear in Courier font bold. > This symbol indicates a menu item. For example, "Choose Tools >Options" means choose the Options item from the Tools menu. bold Bold font indicates a graphical user interface element. For example, ”Run Setup for AppZero, and then click Next.” Feedback If you have comments about AppZero products or AppZero user documentation, please contact us: www.appzero.com/content/contact AppZero Support For AppZero customer support, email [email protected] and see www.appzero.com/content/support. Introduction to AppZero Application Migration About Migrating Applications AppZero Application Migration is an intelligent discovery tool that migrates an application and its dependencies from a tethered source machine to a destination machine. To migrate an application, AppZero is not required on the source machine. AppZero is required on the destination machine to tether to the application on the source machine and run the migrated virtual application appliance on the destination machine. Once you have migrated the application, you can then dissolve the application to the underlying operating system using AppZero Dissolve. For information about AppZero Dissolve, see About Dissolve. You use the AppZero Tether Console to migrate an application. AppZero Tether Console You use the AppZero Tether Console graphical user interface to: 1. Create a VAA, which is the container for the application you will migrate. 2. Connect to the source machine. 3. Get remote information and import it to your VAA. 4. Start and finish the migration process, or reset it if you need to. http://docs.stage.appzero.com/book/export/html/812 2/45 17/12/2014 AppZero Application Migration Guide Tooltips are available for GUI items (buttons, fields, and tabs) on the AppZero Tether Console. Alternatively, you can use the CLI command appzpedit. See To Migrate an Application Using the AppZero CLI for information about how to use appzpedit. Once you have completed tethering using AppZero Tether Console, you will use the Administrative Console to manage your VAA as required. For more information about managing VAAs, see the AppZero Administration Guide. Restrictions You cannot use AppZero Tether Console and Administrative Console at the same time when migrating an application. Complete tethering and then use the Administrative Console once AppZero Tether Console closes to manage your VAA. AppZero does not recommend that you use both AppZero Tether Console and the AppZero CLI at the same time when migrating an application. For example, it is not advisable to use AppZero Tether Console during a tethering session and attempt to dock the VAA using the AppZero CLI while AppZero Tether Console is still open. To avoid possible problems with a VAA, use AppZero Tether Console OR the AppZero CLI when working with a VAA. The Application Migration Process Migrating an application involves the following steps: 1. Complete prerequisite steps on the source and destination machines. See Are You Ready to Migrate an Application? 2. Doubleclick the Tether Console shortcut icon on your desktop to start AppZero Tether Console. 3. Create a VAA and connect to the source machine. See To Migrate an Application Using AppZero Tether Console. 4. Run your VAA application on the destination machine and exercise the application. See Running and Exercising Your Application. 5. Run AppZero Dissolve to remove AppZero encapsulation from the application appliance and transfer it to the underlying operating system on the destination machine so that the application will behave as if natively installed. See To Dissolve an Application. The following diagram summarizes the steps in the Tether process. VAA Naming Conventions When choosing a VAA name, consider the following: http://docs.stage.appzero.com/book/export/html/812 3/45 17/12/2014 AppZero Application Migration Guide By default, the VAA name is the same as the name of the VAA folder, which contains AppZero runtime support files, the configurable VAA properties, file set, registry set, services, and other dependencies that are referenced in the template. Therefore, when choosing VAA names, avoid characters that cannot be used in a Windows folder name. A name must have at least 1 character and a maximum of 63 characters. Do not start or end the VAA name with a period (.) or use a reserved extension such as ".exe" or ".cap". Do not use "*" or "&" in the name. Do not use the name "hostid", "self”, or "sourceid". Choose unique names for VAAs. Choose a naming convention that will make VAAs easy to identify. Tether Agent AppZero's Tether Agent allows compression of the data stream when copying files from the source machine in order to achieve better performance. Tether Agent is off by default. You can enable or disable it as required. You can view the Tether Agent log agent.log in the following directory: C:/appliances/<VAA>/ctrack/Activity/agent.log Tether Agent activity is also displayed in the Tether log. Notes: Tether Agent is not supported on Microsoft Windows 2000 Server source machines. Only one VAA at a time can tether using Tether Agent to the same source machine. Multiple tethers via Tether Agent at the same time to the same source machine are not possible. If there is an issue, stop the appzagent.exe process associated with the previous VAA on the source server, then dock and start the second VAA. To Enable Tether Agent 1. Go to the following key value on the destination machine: Key value name: HKLM\SOFTWARE\AppZero Settings\Controller\UseAgent Type: REG_DWORD Value Data: 0 2. Set Value Data to 1. Configuring Tether Agent You can configure Tether Agent parameters by setting their corresponding registry value under the following registry key on the destination machine: HKLM\SOFTWARE\AppZero Settings\Controller\agent For more information, see Advanced Configuration for Tether Agent in the AppZero Reference Guide. Tether Credential Information Configuration information is saved in a credential file: <VAA_cid>.tether The Tether credential file stores source machine information that you specify via AppZero application migration. The file includes the source machine name, user name, and encrypted password used to connect to the source machine. The Tether credential file is saved in the AppZero installation directory, for example: C:\Program Files\AppZero\1ce8a1a5cffe4e0.tether Remote Information You can get the following remote information for a VAA: services installed on the source machine that a VAA requires to run properly environment variables user/group account information Remote Services You can list installed services on the source machine and copy services from this list to the destination machine before you dock a VAA. This is useful if a service http://docs.stage.appzero.com/book/export/html/812 4/45 17/12/2014 AppZero Application Migration Guide on the source machine was missing in the VAA when the VAA was created. When you get remote services, a cremoteservices file is created in the VAA folder. This XML file contains a list of services from the source machine. You can start a service on the Remote Services tab of the AppZero Tether Console. Remote Environment Variables You can also get a list of remote environment variables that are required by the application migration process. These remote environment variables will become part of the VAA and a cremotenv file will be created in the VAA folder. For information about setting and deleting environment variables (user and system), see the appzenvedit command line utility in the AppZero Reference Guide. User/Group Accounts You can view user and group account information, such as SIDs and names, associated with a Windows user or group account. This is useful if this information is required by the application migration process. You can select user or group accounts using the Remote Accounts tab of the AppZero Tether Console or using the CLI. For information about managing user and group accounts using the appzuser and appzgroup command line utilities, see the AppZero Reference Guide. If you are using the AppZero command line, account information is exported to an "account bundle" directory on the desktop of the user currently logged in to the machine. If you are using the AppZero Tether Console, account information is exported to a VAA’s cstore/accounts directory. The name of the directory is the SID of the user or group account. If this directory already exists, contents will be replaced by the newest operation. If a user account corresponding to the login credentials of a selected service is bundled with a VAA, information from the account bundle associated with the service user as well as the user password will be imported automatically when the appliance is docked. If the user doesn’t currently exist on the underlying operating system, the user will be created using the password specified in the Remote Services tab. If you select user accounts that do not correspond to a service, these accounts will be imported to the operating system of the destination machine with the default password "1password!" when you dock the VAA. AppZero recommends that you change the passwords of these accounts at the earliest opportunity. Configonthefly Your VAA may contain configuration information from another system and this information may not be compatible with the current system. You can use a Configonthefly file (StandardCOTF.xml) to update the configuration information so that it works with the current system. You may need to update the settings in the configuration file with information from the current system. You specify the Configonthefly file using the appzpedit command line utility to update the following property: CPROP_CONFIG_FILE VAA properties (for example, CPROP_SRC_NODENAME) can be used as arguments to the CPROP_CONFIG_FILE property. StandardCOTF.xml is located as follows: C:\appliances\<vaa name>\scripts\StandardCOTF.xml Configonthefly Files and Paths When you specify a path to a COTF file, note that AppZero supports paths that are relative to the VAA folder. That is, AppZero supports: ".\scripts\StandardCOTF.xml" or the absolute full path: "C:\appliance\VAAName\scripts\StandardCOTF.xml" Configonthefly on Demand You can execute Configonthefly on demand for an undocked VAA, using the Administrative Console or the command line utility appzcotf. See the AppZero Reference Guide for more information. You can execute Configonthefly without having to retether a VAA. This is useful, for example, if you want to rehost or reconfigure a VAA for which Tether is already disabled. You can also execute Configonthefly on demand regardless of how a VAA was created; for instance, you can execute Configonthefly on demand after a compressed VAA file is moved to a new destination server or after you dissolve a VAA. What Happens if a File Isn't Copied? The tethering process will fail to copy a file or any file under a folder from the source machine if, for example, a file is locked on the source machine by a service or a running application or if the connection to the source machine is lost. If this occurs, the tethering process will not mark such a file as "COMPLETE" until the file is physically copied over from the source machine. If the application requests a file that was not successfully copied over previously, the tethering process will continue to try to copy the file from the source machine until the copy operation is successful. http://docs.stage.appzero.com/book/export/html/812 5/45 17/12/2014 AppZero Application Migration Guide Compressing and Moving a VAA If a VAA contains a Configonthefly (COTF) file, copy the file into the scripts folder of the VAA before you compress the VAA. You can then manually update the CPROP_CONFIG_FILE after you uncompress the VAA. If scripts are required for the tethering process, place the scripts in the VAA's scripts folder before you compress and move the VAA. If tether is enabled for a VAA and you compress a VAA, the CPROP_USE_TETHER property for the .cap file will be set to "N". Compressing will untether the VAA and credentials to the source machine will be lost. You will have to enable tether again and specify credentials once again as required after you uncompress the VAA. The template file in the .cap file may be incomplete because the template file is recreated automatically only when you untether the VAA via the Tether Console. You can recreate the template file using appztemplatecreate. Migrating an Application Are You Ready to Migrate an Application? Before you migrate an application, make sure that you complete the following technical prerequisites. Install AppZero Install AppZero software on the destination machine. AppZero is not required on the source machine. You must have appropriate credentials to install AppZero. AppZero must run on a supported version of the Windows Operating System as follows: Windows Server 2008 (64bit) Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Credentials The user must be logged in to the remote machine as a member of the Administrators Group. A user may proceed with a migration if: For Windows Server 2003 source machines, they are a member of the Administrators Group For Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 , they are a member of the Administrators Group AND if User Account Control (UAC) is enabled, the reigstry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy is set to 1 to allow the user to be elevated. Alternatively, you can add the key value by means of a .reg file located in the extras folder. Copy add_LocalAccountTokenFilterPolicy.reg to the source machine and then doubleclick the file. To remove the key value, copy remove_LocalAccountTokenFilterPolicy.reg to the source machine and then doubleclick the file. For assistance with administrator credentials, contact your system administrator. Start Windows "Server" Service The Windows Server service supports file, print, and namedpipe sharing over the network for a computer. If this service is stopped, these functions will be unavailable. If this service is disabled, any services that depend on it will fail to start. The Server service must be started on the source machine before you start a migration. Connectivity Open Ports 445 and 80 Check that there is connectivity endtoend from the destination server to the source on port 445; endtoend means that that the port is open at the Windows firewalls, at the cloudinstance firewalls, and at any perimeter firewalls between the two servers. For IIS migrations, make sure that port 80 is open because it is required by Web Deploy. If use of port 445 is not permitted on the network or a concern, use a virtual private network (VPN) to establish connectivity between the destination and source machines. Open Ports on the Destination Machine Firewall Open appropriate ports on the destination machine firewall to ensure that the application can be reached once it is migrated. SQL Server, for example, requires port 1433 by default. Microsoft IIS applications use port 80 by default. Other applications or database servers may require different ports. For more information, consult application documentation and/or contact AppZero Support. Security Options The destination machine may require that the "LAN Manager authentication level" setting be set to "Send LM & NTLM responses". This setting may be required if : http://docs.stage.appzero.com/book/export/html/812 6/45 17/12/2014 AppZero Application Migration Guide a machine has been removed from the domain, OR Active Directory is unavailable, AND the source machine is Windows Servier 2000 and 2003 You can test whether this prerequisite applies to your situation. From the destination machine, try to access the UNC path to the source machine (i.e., \\ <sourcemachine>\c$). You will be prompted for credentials to connect to the source machine. If authentication is successful and you can see the C: drive of the source machine, then AppZero Tether connection will succeed and you may ignore this prerequisite. 1. At the Start menu, type secpol.msc in the search line and press Enter. The Local Security Policy editor opens. 2. Doubleclick Local Policies. 3. Click Security Options. 4. Doubleclick Network Security: LAN Manager authentication level. 5. Select Send LM & NTLM responses, and then click OK. 6. Close the Local Security Policy editor. Antivirus Software Do not install antivirus software or "endpoint security" agents on the destination machine. These agents interfere with AppZero software. Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process (for example, if the firewall on the source machine is enabled while tether is in progress). Do not install such software on the destination machine until after the migration, including Dissolve, is complete. After you have run Dissolve successfully on the final destination machine, you can install antivirus software. Each time you dock a VAA, AppZero performs an antivirus check and alerts you if antivirus software is found. This alert does not interfere with the docking process. You can view the Precheck Report in the AppZero directory if you want to see the result of the antivirus check. For example: Local Antivirus Installed: Yes *AdAware Antivirus Destination Server Capacity Make sure that the destination server or servers have adequate capacity to run the application you are migrating. That is, the destination servers must have equivalent or greater capacity than the source server: equal or greater number of CPU cores equal or greater available memory (RAM) equal or greater available disk space, or if you will be running Dissolve, twice the available disk space same number of disks, each of them with equal or greater size and with the same drive letter as on the source server Make sure that the drive on the destination server where the VAA will be created (by default, C:\appliances), has enough space to contain the entire application, meaning the sum of the above drive capacities actually required by the application. Operating System Compatibility The operating systems of the source and destination machines must both be server operating systems. AppZero supports 64bit operating systems destinations. The source application to be migrated must reside on a supported source machine operating system. The following versions of Windows are supported as source machine environments: Windows Server 2003 (32bit and 64bit) http://docs.stage.appzero.com/book/export/html/812 7/45 17/12/2014 AppZero Application Migration Guide Windows Server 2003 R2 (32bit and 64bit) Windows Server 2008 (32bit and 64bit) Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 The operating system version of the destination machine must be greater than the source operating system version, as follows: Version Build Number Number Windows Server 2012 R2 6.3 .9600 Windows Server 2012 6.2 .9200 Windows Server 2008 R2 64bit 6.1 .7601 Windows Server 2008 6.0 .7601 Operating System CrossArchitecture Tethering AppZero supports 64bit operating systems destinations. You can tether an application that is installed on a machine running Windows Server 2003 Service Pack 2 x86 to a destination machine running Windows Server 2008 x64, 2008 R2 x64, Windows 2012 x64, or Windows 2012 R2 x64. AppZero does not support migrating an application in the reverse direction, that is, from a 64bit machine to a 32bit machine. .NET Framework 4.0 Verify whether .NET Framework version 4.0 or greater is installed on the source machine. If so, you must install .NET Framework 4.0 or 4.5 on the destination machine before you perform a migration. On Windows Server 2012 R2, it is not possible to install version 4.0: you must install version 4.5. Domain Name Check the domain name on the source machine. If the application that you want to migrate has users that authenticate through the domain, then add the destination machine to this domain. Applications on a Remote or Removable Drive The application that you want to include in the VAA must reside on the computer where AppZero is installed. It may not reside on a remote server and its components may not be accessed via mapped network drives, UNC locations, or removable drives. Multiple VAAs from Different Sources You can have multiple VAAs from different sources on one machine and multiple VAAs from different sources that use IIS on one machine; however, only one VAA can run at a time. Schedule a Maintenance Window for Your Application Schedule a maintenance window for the application you will migrate so that the application can be stopped and shut down just prior to migration. Running a PreMigration Check You can run a command line utility called appzprecheck.exe to verify whether the source and destination machines comply with the prerequisites listed in Are You Ready to Migrate an Application? appzprecheck is also run automatically when you attempt to connect to the source machine using the Tether Console or the Administrative Console. If appzprecheck fails, an error message is displayed. You can view the Precheck Report to determine what the problem is as follows: click the link displayed in the Tether Console, or open the PreCheck report in the appliance ctrack/log folder, or click the Precheck Report tab in the Appliance Logs tab in the Administrative Console http://docs.stage.appzero.com/book/export/html/812 8/45 17/12/2014 AppZero Application Migration Guide What If There's a Problem in the Precheck Report? If the Precheck Report lists a problem or problems that will impede application migration, see Precheck Report in the AppZero Troubleshooting Guide for guidance about how to resolve specific issues. Sample Precheck Report ****AppZero Version**** 6.0SP6 x64 (build:0xc3688efa) ****Port Status**** Status of port 445 *Local Port 445: Open *Remote Port 445: Open Status of port 80 *Remote Port 80: Open ****Local and Remote Machine Settings**** Domain Match: No *Local Domain Name: WORKGROUP *Remote Domain Name: trigence.com OS Viable: Yes *Local OS Ver: 6.3.9600 *Remote OS Ver: 5.2.3790 System Type Match: Yes *Local: Server *Remote: Server System Root Drive Match: Yes *Local: C: *Remote: C: .Net Framework Viable: Yes *Local .Net Framework: 4.5 *Remote .Net Framework: 4.0 Web Deploy: *Local: Microsoft Web Deploy 3.5 is installed. *Remote: Microsoft Web Deploy 3.5 is installed. SID Accounts: *Local Account is verified as an Administrator *Remote Account is verified as an Administrator ****Remote Machine Only Settings**** Remote Administrative Shares Enabled: Yes Cached Logins: 10 IIS URL Rewrite Module: Not Installed ****Local Machine Only Settings**** LAN Manager Authentication Level: Invalid *Value is undefined, should be "Send LM and NTLM Responses" Shortnames on C: Enabled IIS URL Rewrite Module: Not Installed Local Antivirus Installed: No Remote Antivirus Installed: No To Run appzprecheck 1. Doubleclick the AppZero CLI shortcut on your desktop. A command prompt window opens. 2. Run the following command: appzrecheck server username password [/O OutputDirectory] Where server is the IP address or machine name of the remote machine username is the user name for the Administrator account on the remote machine. password is the password for the Administrator account on the remote machine. outputDirectory is the directory to which you want to write the file. Optional. After you run the command, any issues are listed in the PreCheckReport.txt file located in the AppZero directory. http://docs.stage.appzero.com/book/export/html/812 9/45 17/12/2014 AppZero Application Migration Guide To Migrate an Application Using AppZero Tether Console IMPORTANT! You must be logged in as the System Administrator on the destination machine. Before you migrate an application, complete the requirements listed in Are You Ready to Migrate an Application? Notes Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process. This may occur for a number of reasons; for example, if the firewall on the source machine is enabled while tethering is in progress. If remote services are not retrieved, try any of the following: disable the firewall on the source machine; make sure that the Remote Registry service is enabled on the source machine; make sure that the user credentials you specify to connect to the source machine are correct; check the Tether log. Once you have identified the issue, connect to the source machine again. Some products or product components do not appear in the Remote Products tab in the Tether Console. For example, Oracle 11g does not appear in the list because Windows does not understand it as an installed product. Oracle 11g does not register itself or leverage any Windows mechanisms related to installation and is therefore not recognized by the operating system as being installed. Therefore, Oracle 11g will not appear in the Remote Products list but will be listed in Remote Services and Remote Accounts lists on the Tether Console. Make sure that you select services for such a product in the Remote Services list. To Migrate an Application Using the AppZero Tether Console 1. Doubleclick the Tether Console desktop shortcut icon on your desktop or click Start>AppZero>Tether Console. AppZero Tether Console opens. 2. In the VAA Name field, enter the full path and name of the VAA you want to create: C:\appliances\VAA Where VAA is the name of the appliance. Click outside the VAA Name field. http://docs.stage.appzero.com/book/export/html/812 10/45 17/12/2014 AppZero Application Migration Guide 3. In the Source Name field, specify the IP address or name of the source machine you want to connect to. Specify only an Administrator account. Alternatively, click the Query Networks button to display a list of machines on your network, and then select a machine to populate the Source Name field. 4. In the Administrator Username field, type the username of the local administrator account on the source machine you specified in step 3. The default username is Administrator. 5. Click the Find Applications button. If credentials are valid, AppZero Tether retrieves all remote applications, services, and user/group account information and displays this information in the tabs in the bottom half of the AppZero Tether Console window. If credentials fail or prerequisites have not been met for tethering, an error message is displayed. You can view the Precheck Report by clicking the precheck report link to determine what the problem is. 6. In the Remote Products tab, review the list of remote applications. Rightclick the list and then click Details to see a legend that explains whether AppZero supports the migration of products as follows: Green: the application is supported Yellow: the application can be migrated using scripts Red: AppZero does not support migration of the application Blue: unknown 7. Select the product or products you want to migrate. When you click away from the list, AppZero Tether automatically selects all user/group accounts, services, and executables associated with the installed application and displays these in the Remote Services and Remote Accounts tabs. 8. Click the Remote Services tab and review the remote services that were automatically selected for the VAA. Select services as appropriate. Edit the User Name and Password for a service as appropriate. Note that you are setting a password only; AppZero does not validate a password against the original password associated with the source machine. You cannot edit passwords after you click Start Tether. Service User Names must be in the format domain\uid, where uid is the user identifier. This is a restriction of the Microsoft Win32 functions for working with the Service Control Manager (SCM), which is used by AppZero. If you select a service and the service is started on the remote machine, the row will be red and the Remote Status column will display "Started". Stop the service before tethering by rightclicking the service and then selecting Stop Remote Service. If you do not stop remote services, tethering will not succeed http://docs.stage.appzero.com/book/export/html/812 11/45 17/12/2014 AppZero Application Migration Guide in step 11 below. If you select a service and the service already exists on the underlying operating system, the row will be grey and the Remote Status column will display "CONFLICT". Resolve the conflict and then press F5 to refresh the list. If you hover over a service in the list, a tool tip will display which selected service, if any, requires this service. 9. Click the Remote Accounts tab and select user and group accounts as appropriate. If you select user accounts that do not correspond to a service, these accounts will be imported to the operating system of the destination machine with the default password "1password!" when you dock the VAA. AppZero recommends that you change the passwords of these accounts at the earliest opportunity. 10. Optionally, specify a Configonthefly (COTF) file by enabling any of the following radio buttons: Standard AppZero Tether loads the standard COTF file (C:\appliances\<vaa name>\scripts\StandardCOTF.xml) and passes to the file the source name you specified in step 3. Custom select or specify a customized COTF file, for example: MyCustomCOTF.xml. AppZero supports paths that are relative to the VAA folder. That is, AppZero supports: ".\scripts\StandardCOTF.xml" or the absolute full path: "C:\appliance\VAAName\scripts\MyCustomCOTF.xml" You can also specify only the file name of the COTF file if the file is in the scripts folder. For example: "StandardCOTF.xml" 11. When you are ready to tether, click the Start Tether button. Note that the prepopulate portion of the tether process may take some time. 12. Once the VAA docks, click the Services tab. Only the services you selected for the VAA are displayed. Rightclick each service and click Start to start the service. The status of the service changes to "Starting" and the Tether Monitor icon in the Windows Taskbar spins and blinks to show that data is being copied from the source machine. If a service cannot be started, an error message is displayed at the bottom of the Tether Console window. 13. If you need to make changes to the VAA, click the Reset button. Click Yes at the prompt. This stops services, undocks the VAA, and removes Tether information from the VAA and returns the VAA to the condition it was in before the Tether process started. Repeat steps 6 to 12 as required. Note: If you want to connect to the source machine with a different set of credentials after you have found applications, you must first make sure that any VAAs tethered to the source machine are undocked then log out of the current Windows session. You can then use the Administrative Console to modify your VAA. Alternatively, log out, discard your VAA and start again using Tether Console. 14. You are now ready to launch the application so you can exercise the main components of the application and test it while it is tethered. Click the Launch Application button to select an application associated with a selected remote product or open the AppZero command prompt. The Select an Application window opens. Do one of the following: Select an application from the list, and then click Select. To view all applications associated with the selected product in the Start Menu of the source machine, enable View All. Note that ODBC Manager is available in the Select an Application window if required for your application. The selected application opens when you click Select. Select AppZero Command Prompt. The AppZero command prompt opens. http://docs.stage.appzero.com/book/export/html/812 12/45 17/12/2014 AppZero Application Migration Guide 15. Exercise the main components of your application. See Running and Exercising Your Application for more information. 16. As required, use AppZero Tether Monitor to monitor Tether activity and get an idea of when application components have been fully copied from the source machine. For more information, see Monitoring Migration. 17. When you are satisfied that the main components of your application have been exercised and migrated, do the following: Close your application. Click the Services tab, and then rightclick each service and select Stop. 18. Click the Finish Tether button. This undocks the VAA and exits AppZero Tether Console. Once you have completed Tether using AppZero Tether Console, you will use the Administrative Console to manage your VAA as required. For more information, see the AppZero Administration Guide. See Also: To Migrate an IIS Application Using AppZero Tether Console To Dissolve an Application To Migrate an Application Using the AppZero CLI IMPORTANT! You must be logged in as the System Administrator on the destination machine. Before you migrate an application, complete the requirements listed in Are You Ready to Migrate an Application? Note Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process. This may occur for a number of reasons; for example, if the firewall on the source machine is enabled while tethering is in progress. If remote services are not retrieved, try any of the following: disable the firewall on the source machine; make sure that the Remote Registry service is enabled on the source machine; make sure that the user credentials you specify to connect to the source machine are correct; check the Tether log. Once you have identified the issue, connect to the source machine again. To Start Remote Registry service on the Source Machine Remote Registry Service must be started on the source machine to migrate an application. Membership in the local Administrators group, or equivalent, on the remote computer is the minimum required to complete this procedure. 1. On the source machine, open a command prompt window. 2. Execute: sc <name of server> start RemoteRegistry To Migrate an Application Using the AppZero CLI 1. Create a VAA. At the command prompt, enter the following: >appzcreate <VAA> /E where <VAA> is the full name and path of the appliance. 2. Enable Tether: enter the following at the command prompt: >appzpedit <VAA> CPROP_USE_TETHER Y where <VAA> is the full name and path of the appliance. The VAA property is case sensitive. 3. Specify information for connecting to the source machine: the source machine name, username, and password. 4. To enable Configonthefly, enter Y. For information about how to create a Tether Configonthefly file, see the AppZero Reference Guide. 5. Enter the path to the Configonthefly file. For example: appzpedit C:\appliances\<VAA> CPROP_CONFIG_FILE <path to config file> <parameters> If you do not specify the complete path for the COTF file, AppZero automatically looks for it in the VAA\scripts directory. For example, you can specify: "StandardCOTF.xml" CPROP_SRC_NODENAME 6. At the command prompt on the destination machine, enter the following to list services: >appzsvc <VAA> list http://docs.stage.appzero.com/book/export/html/812 13/45 17/12/2014 AppZero Application Migration Guide A list of the services of the specified VAA on the source machine is displayed. 7. Run the following command to copy a service from the source machine to the VAA on the destination machine: >appzsvc <VAA> add <service_name> 8. Run the following command: >appzsc <VAA> config <service_name> /U <Administrator> /P <password> Note that you are setting a password only via the <password> argument; AppZero does not validate a password against the original password associated with the source machine. 9. As appropriate, list user accounts on the source machine: >appzuser /L server username password 10. If you need to export user accounts to the VAA, enter the following: >appzuser /X server username password account [appliance] If you select user accounts that do not correspond to a service, these accounts will be imported to the operating system of the destination machine with the default password "1password!" when you dock the VAA. AppZero recommends that you change the passwords of these accounts at the earliest opportunity. 11. If you performed steps 9 and 10, import user accounts to the destination machine: >appzuser /I bundle path 12. As appropriate, list group accounts on the source machine: >appzgroup /L server username password 13. If you need to export group accounts to the VAA, enter the following: appzgroup /X server username password account [appliance] 14. If you performed steps 12 and 13, import group accounts to the destination machine as follows: >appzgroup /I bundle path 15. Dock the VAA: >appzdock <VAA> 16. Start services: >appzstart <VAA> <service_name> 17. Run and exercise the application. 18. When you are satisfied that you have exercised the main components of the application, stop the VAA services: >appzstop <VAA> <service_name> 19. Undock the VAA: >appzundock <VAA> 20. Disable Tether by entering the following (the VAA property is case sensitive): >appzpedit <VAA> CPROP_USE_TETHER N 21. Regenerate the VAA template by entering: Y. 22. Test the VAA to make sure that the application is behaving as expected, services are starting, and so on. Run the appzdock, appzstart, and appzrun commands. 23. Run the appzundock, appzstop commands. 24. Dissolve the VAA: >appzdissolve <VAA> For information about Dissolve, see About Dissolve. To Migrate MS SQL Server IMPORTANT! You must be logged in as the System Administrator on the destination machine. Before you migrate an application, complete the requirements listed in Are You Ready to Migrate an Application? The SQL Rehosting Script does NOT work with SQL Server 2000, specifically SQL Server Database Engine versions 8.00.xxxx. To determine what http://docs.stage.appzero.com/book/export/html/812 14/45 17/12/2014 AppZero Application Migration Guide version of the Database Engine you're running, follow the steps outlined here: http://support.microsoft.com/kb/321185. The SQL Rehosting Script requires that sqlcmd.exe be part of the tools installed, and will run only on SQL Database Engine versions 9.00.xxxx and higher. Note: Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process. This may occur for a number of reasons; for example, if the firewall on the source machine is enabled while tethering is in progress. If remote services are not retrieved, try any of the following: disable the firewall on the source machine; make sure that the Remote Registry service is enabled on the source machine; make sure that the user credentials you specify to connect to the source machine are correct; check the Tether log. Once you have identified the issue, connect to the source machine again. To Migrate SQL Server 1. Doubleclick the Tether Console desktop shortcut icon on your desktop or click Start>AppZero>Tether Console. AppZero Tether Console opens. 2. In the VAA Name field, enter the full path and name of the VAA you want to create. For example: C:\appliances\VAA, where VAA is the name of the application. Click outside the VAA Name field. 3. In the Source Name field, specify the IP address or name of the source machine you want to connect to. Specify only an Administrator account. Alternatively, click the Query Networks button to display a list of machines on your network,and then select a machine to populate the Source Name field. 4. In the Administrator Username field, type the username of the local administrator account on the source machine you specified in the previous step. The default username is Administrator. 5. Click the Find Applications button. If credentials are valid, AppZero Tether retrieves all remote applications, services, and user/group account information and displays this information in the tabs in the bottom half of the AppZero Tether Console window. 6. In the Remote Products tab, select the Microsoft SQL Server application packages. Also, select the packages for Visual Studio and Microsoft Office Web Components. When you click away from this tab, AppZero Tether automatically selects all user/group accounts, services, and executables associated with the installed application and displays these in the Remote Services and Remote Accounts tabs. 7. Click the Remote Services tab and review the remote services that were automatically selected for the VAA. Make note of the main SQL Server service name, e.g., MSSQLSERVER or MSSQL$EXPRESS. Select any other services that may be related to your product if it is not already selected. http://docs.stage.appzero.com/book/export/html/812 15/45 17/12/2014 AppZero Application Migration Guide If you select a service and the service is started on the remote machine, the row will be red and the Remote Status column will display "Started". Stop the service before tethering by rightclicking the service and then selecting Stop Remote Service. If you do not stop remote services, tethering will not succeed. If you select a service and the service already exists on the underlying operating system, the row will be grey and the Remote Status column will display "CONFLICT". Resolve the conflict and then press F5 to refresh the list. 8. Click the Remote Accounts tab to review users and group accounts that have been selected. Select other user and accounts that you think are required for your product. If you select user accounts that do not correspond to a service, these accounts will be imported to the operating system of the destination machine with the default password "1password!" when you dock the VAA. AppZero recommends that you change the passwords of these accounts at the earliest opportunity. 9. Optionally, specify a Configonthefly (COTF) file by enabling any of the following radio buttons: Standard AppZero Tether loads the standard COTF file (C:\appliances\<vaa name>\scripts\StandardCOTF.xml) and passes to the file the name of your source machine. Custom select a custom COTF file. Click the browse button to find and specify an XML file. Select a file and click Open. 10. When you are ready to tether, click the Start Tether button. 11. You can now run the SQL rehosting scripts. Click the Launch Application button in the Tether Console, and then select AppZero Command Prompt. Type the following: cd \Program Files\AppZero\EXTRAS\SQLServer SQLReHostScript.bat <DB service name> <DB service name> is the service name retrieved in step 7. You must specify it as an argument. For instance, for SQL Express: cd \Program Files\AppZero\EXTRAS\SQLServer SQLRehostScript.bat MSSQL$EXPRESS Once the script has completed, the second command prompt window that appeared will close automatically. http://docs.stage.appzero.com/book/export/html/812 16/45 17/12/2014 AppZero Application Migration Guide Note: If you are migrating Microsoft SQL Server 2008, SQL Server 2008 R2, or SQL Server 2005 Enterprise Edition or Standard Edition less than version SP4 on Windows Server 2012 R2, Windows may display a compatibility prompt. Select Run the Program without getting help and proceed with rehosting; the rehosting script will execute successfully. 12. On the Remote Services tab in the Tether Console, rightclick the services and select Start. 13. When the services start, click the Launch Application button. 14. Navigate to the SQL applications you want to launch. 15. Exercise the applications as much as possible. When you are satisfied that the main components of your application have been migrated, do the following: Close your application. 16. Click the Remote Services tab, and then rightclick each service and select Stop. 17. Click the Finish Tether button. This exits AppZero Tether Console. 18. Run Dissolve: >appzdissolve Appliance [/A] /M:<SID_in_appliance>=<SID_in_host>,...][/M:?] [/V] [/F] To Migrate SQL Server Configuration Manager MMC IMPORTANT! You must be logged in as the System Administrator on the destination machine. Before you migrate an application, complete the requirements listed in Are You Ready to Migrate an Application? Note: Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process. This may occur for a number of reasons; for example, if the firewall on the source machine is enabled while tethering is in progress. If remote services are not retrieved, try any of the following: disable the firewall on the source machine; make sure that the Remote Registry service is enabled on the source machine; make sure that the user credentials you specify to connect to the source machine are correct; check the Tether log. Once you have identified the issue, connect to the source machine again. To Migrate SQL Server Configuration Manager MMC 1. Doubleclick the Tether Console desktop shortcut icon on your desktop or click Start>AppZero>Tether Console. AppZero Tether Console opens. 2. In the VAA Name field, enter the full path and name of the VAA you want to create. For example: C:\appliances\VAA, where VAA is the name of the application. Click outside the VAA Name field. http://docs.stage.appzero.com/book/export/html/812 17/45 17/12/2014 AppZero Application Migration Guide 3. In the Source Name field, specify the IP address or name of the source machine you want to connect to. Specify only an Administrator account. Alternatively, click the Query Networks button to display a list of machines on your network and then select a machine to populate the Source Name field. 4. In the Administrator Username field, type the username of the local administrator account on the source machine you specified in the previous step. The default username is Administrator. 5. Click the Find Applications button. If credentials are valid, AppZero Tether retrieves all remote applications, services, and user/group account information and displays this information in the tabs in the bottom half of the AppZero Tether Console window. 6. In the Remote Products tab, select the Microsoft SQL Server application packages. Also, select the packages for Visual Studio and Microsoft Office Web Components. When you click away from this tab, AppZero Tether automatically selects all user/group accounts, services, and executables associated with the installed application and displays these in the Remote Services and Remote Accounts tabs. 7. Click the Remote Services tab and review the remote services that were automatically selected for the VAA. Make note of the main SQL Server service name, e.g., MSSQLSERVER or MSSQL$EXPRESS. Select any other services that may be related to your product if it is not already selected. If you select a service and the service is started on the remote machine, the row will be red and the Remote Status column will display "Started". Stop the service before tethering by rightclicking the service and then selecting Stop Remote Service. If you do not stop remote services, tethering will not http://docs.stage.appzero.com/book/export/html/812 18/45 17/12/2014 AppZero Application Migration Guide succeed. If you select a service and the service already exists on the underlying operating system, the row will be grey and the Remote Status column will display "CONFLICT". Resolve the conflict and then press F5 to refresh the list. 8. Click the Remote Accounts tab to review users and group accounts that have been selected. Select other user and accounts that you think are required for your product. If you select user accounts that do not correspond to a service, these accounts will be imported to the operating system of the destination machine with the default password "1password!" when you dock the VAA. AppZero recommends that you change the passwords of these accounts at the earliest opportunity. 9. Optionally, specify a Configonthefly (COTF) file by enabling any of the following radio buttons: Standard AppZero Tether loads the standard COTF file (C:\appliances\<vaa name>\scripts\StandardCOTF.xml) and passes to the file the name of your source machine. Custom select a custom COTF file. Click the browse button to find and specify an XML file. Select a file and click Open. 10. When you are ready to tether, click the Start Tether button. 11. You can now run the SQL rehosting scripts. Click the Launch Application button in the Tether Console, and then select AppZero Command Prompt. Type the following: cd \Program Files\AppZero\EXTRAS\SQLServer SQLReHostScript.bat <DB service name> <DB service name> is the service name retrieved in step 7. You must specify it as an argument. For instance, for SQL Express: cd \Program Files\AppZero\EXTRAS\SQLServer SQLRehostScript.bat MSSQL$EXPRESS Once the script has completed, the second command prompt window that appeared will close automatically. 12. On the Remote Services tab in the Tether Console, rightclick the services and select Start. 13. When the services start, click the Launch Application button. 14. Navigate to the SQL applications you want to launch. 15. Exercise the applications as much as possible. 16. When you are satisfied that the main components of your application have been migrated, do the following: Close your application. Click the Remote Services tab, and then rightclick each service and select Stop. 17. Click the Finish Tether button. This exits AppZero Tether Console. 18. Run Dissolve: >appzdissolve Appliance [/A] /M:<SID_in_appliance>=<SID_in_host>,...][/M:?] [/V] [/F] http://docs.stage.appzero.com/book/export/html/812 19/45 17/12/2014 AppZero Application Migration Guide 19. Select the SQL Configuration Manager from the Start menu. Performing a Staged Application Migration A staged application migration involves three machine: migrating an application from a source machine to an intermediary machine, and from the intermediary machine to a final destination machine via a compressed VAA, called a .cap file. Note: You cannot migrate an application from a 32bit machine to an intermediary 32bit machine and then on to a final 64bit destination machine; AppZero supports only a staged application migration process that goes from a 32bit machine to a 64bit machine, including at the intermediary or staged step. The following procedure uses Microsoft SQL Server as an example. To Migrate an Application to a Third machine 1. Complete all prerequisites listed in Are You Ready to Migrate an Application, and then tether your application to the intermediary machine using the instructions in To Migrate MS SQL Server. 2. Optionally, set the computer name of the intermediary machine to the same computer name as the destination machine. 3. When you have completed the migration, open the Administrative Console by doubleclicking the Administrative Console shortcut on your desktop. 4. Click the Undock button if necessary, then click the Compress button. This creates the .cap file. 5. Retrieve the .cap file. Go to: C:\appliances\<VAA_Name>.cap. 6. Copy the compressed file to the final destination machine in C:\appliances\. 7. On the destination machine, open the Administrative Console. 8. Select the compressed file, and then click Uncompress. 9. If the intermediary and destination machine names are the same, skip this step and go to step 16. Select the uncompressed VAA, and then click the COTF button. 10. Browse to the path of your COTF file. The StandardCOTF.xml file is located in C:\appliances\VAA\scripts. 11. Enter the host name of the intermediary machine in the Arguments field, then click OK. 12. Click the Dock button to dock the VAA. 13. You can now run the SQL rehosting scripts. Rightclick the VAA and select Launch Prompt. This opens the AppZero Command Prompt. Type the following: cd \Program Files\AppZero\EXTRAS\<VAA name> SQLReHostScript.bat <DB service name> <DB service name> is the service name. You must specify it as an argument. For instance, for SQL Express: cd \Program Files\AppZero\EXTRAS\SQLServer SQLRehostScript.bat MSSQL$EXPRESS Once the script has completed, the second command prompt window that appeared will close automatically. http://docs.stage.appzero.com/book/export/html/812 20/45 17/12/2014 AppZero Application Migration Guide 14. Test the application. See Running and Exercising Your Application for information. 15. When you are satisfied that the application is performing correctly, run Dissolve: >appzdissolve Appliance [/A] /M:<SID_in_appliance>=<SID_in_host>,...][/M:?] [/V] [/F] Advanced Filtering Options Using the sourceid namespace and an exclusion filter, you can exclude a specific path and the files this path contains from migration if you do not want to copy particular files from the source machine. For example, you might want to exclude log files from being copied from the source machine during a migration, in order to make the migration process go more quickly. For information about how to create namespace exclusion filters, see Controlling Namespace Access via Filters and Creating Namespace Access Filters in the AppZero Administration Guide. Migrating an IIS Application Are You Ready to Migrate an IIS Application? Before you migrate an application, make sure that you complete the following technical prerequisites. Note: IIS application migration may fail if the configuration of the source server is invalid. Make sure that the configuration of the source server is correct before you migrate an application. AppZero cannot guarantee successful migration of an application from a source machine with an invalid configuration. Install AppZero Install AppZero software on the destination machine. AppZero is not required on the source machine. You must have appropriate credentials to install AppZero. AppZero must run on a supported version of the Windows Operating System as follows: Windows Server 2008 (64bit) Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Credentials The user must be logged in to the remote machine as a member of the Administrators Group. A user may proceed with a migration if: For Windows Server 2003 source machines, they are a member of the Administrators Group For Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 , they are a member of the Administrators Group AND if User Account Control (UAC) is enabled, the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy is set to 1 to allow the user to be elevated. Alternatively, you can add the key value by means of a .reg file located in the extras folder. Copy add_LocalAccountTokenFilterPolicy.reg to the source machine and then doubleclick the file. To remove the key value, copy remove_LocalAccountTokenFilterPolicy.reg to the source machine and then doubleclick the file. For assistance with administrator credentials, contact your system administrator. Start Windows "Server" Service http://docs.stage.appzero.com/book/export/html/812 21/45 17/12/2014 AppZero Application Migration Guide The Windows Server service supports file, print, and namedpipe sharing over the network for a computer. If this service is stopped, these functions will be unavailable. If this service is disabled, any services that depend on it will fail to start. The Server service must be started on the source machine before you start a migration. Connectivity Open Ports 445 and 80 Check that there is connectivity endtoend from the destination server to the source on port 445; endtoend means that that the port is open at the Windows firewalls, at the cloudinstance firewalls, and at any perimeter firewalls between the two servers. For IIS migrations, make sure that port 80 is open because it is required by Web Deploy. If use of port 445 is not permitted on the network or a concern, use a virtual private network (VPN) to establish connectivity between the destination and source machines. Open Ports on the Destination Machine Firewall Open appropriate ports on the destination machine firewall to ensure that the application can be reached once it is migrated. SQL Server, for example, requires port 1433 by default. Microsoft IIS applications use port 80 by default. Other applications or database servers may require different ports. For more information, consult application documentation and/or contact AppZero Support. Security Options The destination machine may require that the "LAN Manager authentication level" setting be set to "Send LM & NTLM responses". This setting may be required if : a machine has been removed from the domain, OR Active Directory is unavailable, AND the source machine is Windows Servier 2000 and 2003 You can test whether this prerequisite applies to your situation. From the destination machine, try to access the UNC path to the source machine (i.e., \\ <sourcemachine>\c$). You will be prompted for credentials to connect to the source machine. If authentication is successful and you can see the C: drive of the source machine, then AppZero Tether connection will succeed and you may ignore this prerequisite. 1. At the Start menu, type secpol.msc in the search line and press Enter. The Local Security Policy editor opens. 2. Doubleclick Local Policies. 3. Click Security Options. 4. Doubleclick Network Security: LAN Manager authentication level. 5. Select Send LM & NTLM responses, and then click OK. 6. Close the Local Security Policy editor. Antivirus Software Do not install antivirus software or "endpoint security" agents on the destination machine. These agents interfere with AppZero software. Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process (for example, if the firewall on the source machine is enabled while tether is in progress). Do not install such software on the destination machine until after the migration, including Dissolve, is complete. After you have run Dissolve successfully on the final destination machine, you can install antivirus software. Each time you dock a VAA, AppZero performs an antivirus check and alerts you if antivirus software is found. This alert does not interfere with the docking process. You can view the Precheck Report in the AppZero directory if you want to see the result of the antivirus check. For example: Local Antivirus Installed: Yes *AdAware Antivirus http://docs.stage.appzero.com/book/export/html/812 22/45 17/12/2014 AppZero Application Migration Guide Destination Server Capacity Make sure that the destination server or servers have adequate capacity to run the application you are migrating. That is, the destination servers must have equivalent or greater capacity than the source server: equal or greater number of CPU cores equal or greater available memory (RAM) equal or greater available disk space, or if you will be running Dissolve, twice the available disk space same number of disks, each of them with equal or greater size and with the same drive letter as on the source server Make sure that the drive on the destination server where the VAA will be created (by default, C:\appliances), has enough space to contain the entire application, meaning the sum of the above drive capacities actually required by the application. Operating System Compatibility The operating systems of the source and destination machines must both be server operating systems. AppZero does not support IIS migrations to desktop operating systems (Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1). AppZero supports 64bit operating systems destinations. The source application to be migrated must reside on a supported source machine operating system. The following versions of Windows are supported as source machine environments: Windows Server 2003 (32bit and 64bit) Windows Server 2003 R2 (32bit and 64bit) Windows Server 2008 (32bit and 64bit) Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 The operating system version of the destination machine must be greater than the source operating system version, as follows. Version Build Number Number Windows Server 2012 R2 6.3 .9600 Windows Server 2012 6.2 .9200 Windows Server 2008 R2 64bit 6.1 .7601 Windows Server 2008 6.0 .7601 Operating System CrossArchitecture Tethering AppZero supports 64bit operating systems destinations. You can tether an application that is installed on a machine running Windows Server 2003 Service Pack 2 x86 to a destination machine running Windows Server 2008 x64, 2008 R2 x64, Windows 2012 x64, or Windows 2012 R2 x64. AppZero does not support migrating an application in the reverse direction, that is, from a 64bit machine to a 32bit machine. .NET Framework 4.0 Verify whether .NET Framework version 4.0 or greater is installed on the source machine. If so, you must install .NET Framework 4.0 or 4.5 on the destination machine before you perform a migration. On Windows Server 2012 R2, it is not possible to install version 4.0: you must install version 4.5. Web Deploy 3.5 Web Deploy 3.5 is a tool that simplifies migration, management, and deployment of IIS web servers and web applications. If Web Deploy is required to migrate an IIS application, AppZero will install it on the destination machine. If you experience problems with Web Deploy (for example, Web Deployment Agent Service (MsDepSvc) does not start), see Web Deployment Agent Does Not Start in the AppZero Troubleshooting Guide. http://docs.stage.appzero.com/book/export/html/812 23/45 17/12/2014 AppZero Application Migration Guide Microsoft URL Rewrite Module 2.0 The Microsoft URL Rewrite Module 2.0 may be required to migrate an application. URL Rewrite Module 2.0 provides a rulebased rewriting mechanism for changing requested URLs before they are processed by a web server and for modifying response content before it gets served to a HTTP client. If the URL Rewrite Module is required, AppZero will automatically install it. Domain Name Check the domain name on the source machine. If the application that you want to migrate has users that authenticate through the domain, then add the destination machine to this domain. Applications on a Remote or Removable Drive The application that you want to include in the VAA must reside on the computer where AppZero is installed. It may not reside on a remote server and its components may not be accessed via mapped network drives, UNC locations, or removable drives. Multiple VAAs from Different Source Machines You can have multiple VAAs from different source machines on one machine and multiple VAAs that use IIS on one machine; however, only one VAA can run at a time. Schedule a Maintenance Window for Your Application Schedule a maintenance window for the application you will migrate so that the application can be stopped and shut down just prior to migration. Running a PreMigration Check for an IIS Application Migration You can run a command line utility called appzprecheck.exe to verify whether the source and destination machines comply with the prerequisites listed in Are You Ready to Migrate an IIS Application? Run this command before you migrate an application. appzprecheck is also run automatically when you attempt to connect to the source machine using the Tether Console or the Administrative Console. If appzprecheck fails, an error message is displayed. You can view the Precheck Report to determine what the problem is as follows: click the link displayed in the Tether Console, or open the Precheck report in the appliance ctrack/log folder, or click the Precheck Report tab in the Appliance Logs tab in the Administrative Console What If There's a Problem in the Precheck Report? If the Precheck Report lists a problem or problems that will impede application migration, see Precheck Report in the AppZero Troubleshooting Guide for guidance about how to resolve specific issues. To Run appzprecheck 1. Doubleclick the AppZero CLI shortcut on your desktop. A command prompt window opens. 2. Run the following command: appzrecheck server username password [/O OutputDirectory] Where server is the IP address or machine name of the remote machine username is the username for the Administrator account on the remote machine. password is the password for the Administrator account on the remote machine. outputDirectory is the directory to which you want to write the file. Optional. After you run the command, any issues are listed in the PreCheckReport.txt file located in the AppZero directory. http://docs.stage.appzero.com/book/export/html/812 24/45 17/12/2014 AppZero Application Migration Guide About Migrating an IIS Application This topic provides information about how to migrate an Internet Information Server (IIS) application. You can virtualize IISbased applications using a set of scripts and the procedure in this topic. The scripts put IIS into a tethered VAA and allow the VAA to pull configuration information from a remote system. You can use the resulting VAA to migrate the IIS configuration and data from the source machine. The VAA with the new configuration can then be dissolved to the underlying operating system; configuration files will be either overwritten or merged, depending on the application. AppZero does not support IIS migrations to desktop operating systems (Windows XP, Windows Vista, Windows 7, Windows 8, and Windows 8.1). Support for UpLevel Migration of IIS Applications You can migrate IIS configuration and data from IIS 5.0, 6.0, IIS 7.0 and IIS 7.5 to a destination that is the same or higher IIS version, up to IIS 8.5. The following versions of IIS are supported. Operating System IIS Version Windows Server 2012 R2 8.5 Windows Server 2012 8.0 Windows Server 2008R2 7.5 Windows Server 2008 7.0 http://docs.stage.appzero.com/book/export/html/812 25/45 17/12/2014 AppZero Application Migration Guide Windows Server 2003 6.0 Windows Server 2000 5.0 To Migrate an IIS Application Using AppZero Tether Console IMPORTANT! You must be logged in as the System Administrator on the destination machine. Before you migrate an application, complete the requirements listed in Are You Ready to Migrate an IIS Application? Notes Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process. This may occur for a number of reasons; for example, if the firewall on the source machine is enabled while tethering is in progress. If remote services are not retrieved, try any of the following: disable the firewall on the source machine; make sure that the Remote Registry service is enabled on the source machine; make sure that the user credentials you specify to connect to the source machine are correct; check the Tether log. Once you have identified the issue, connect to the source machine again. Some products or product components do not appear in the Remote Products tab in the Tether Console. For example, Oracle 11g does not appear in the list because Windows does not understand it as an installed product. Oracle 11g does not register itself or leverage any Windows mechanisms related to installation and is therefore not recognized by the operating system as being installed. Therefore, Oracle 11g will not appear in the Remote Products list but will be listed in Remote Services and Remote Accounts lists on the Tether Console. Make sure that you select services for such a product in the Remote Services list. If you are migrating from a Windows 2000 Server source machine that has an atypical setup, some of the default paths for the scripts required to migrate an IIS application will not work and ISS migration will fail. In this case, follow the instructions in Migrating from a Windows 2000 Server with an Atypical Setup before you perform the steps in this topic. To Migrate an IIS Application 1. Doubleclick the Tether Console desktop shortcut icon on your desktop or click Start>AppZero>AppZero Tether Console. AppZero Tether Console opens. 2. In the VAA Name field, enter the full path and name of the VAA you want to create: C:\appliances\VAA Where VAA is the name of the VAA. Click outside the VAA Name field. 3. In the Source Name field, specify the IP address of the source machine you want to connect to. Specify only an Administrator account. Alternatively, click the Query Networks button to display all machines on your network, and then select a machine to populate the Source Name field. 4. In the Administrator Username field, type the password of the local administrator account on the source machine you specified in step 3. The default username is Administrator. http://docs.stage.appzero.com/book/export/html/812 26/45 17/12/2014 AppZero Application Migration Guide 5. To tether the application based on IIS, click the Find Applications button. If credentials are valid, this retrieves all remote applications, services, and user/group account information and displays this information in the tabs in the bottom half of the AppZero Tether Console window. If credentials fail or prerequisites have not been met for tethering, an error message is displayed. You can view the precheck report in the AppZero folder to determine what the problem is and check the Migration log in appliances\<VAA>\ctrack\log\migration.log. 6. In the Remote Products tab, review the list of remote applications. You can rightclick the list and then click Details to see a legend that explains whether AppZero supports the migration of products as follows: Green: the application is supported Yellow: the application can be migrated using scripts Red: AppZero does not support migration of the application Blue: unknown 7. Select Web Server (IIS) in the Remote Products list. When you click away from this tab, AppZero Tether automatically selects all user/group accounts, services, and executables associated with the installed application and displays these in the Remote Services and Remote Accounts tabs. 8. Click the Remote Services tab and review the services that were automatically selected for the VAA. Select more services as appropriate. Do not select IIS services, as they will already be selected. Edit the User Name and Password for a service as appropriate. Note that you are setting a password only; AppZero does not validate a password against the original password associated with the source machine. You cannot edit passwords after you click Start Tether. Service User Names must be in the format domain\uid, where uid is the user identifier. This is a restriction of the Microsoft Win32 functions for working with the Service Control Manager (SCM), which is used by AppZero. If you select a service and the service is started on the remote machine, the row will be red and the Remote Status column will display "Started". Stop the service before tethering by rightclicking the service and then selecting Stop Remote Service. If you do not stop the remote service, tethering will not succeed in step 13. If you select a service and the service already exists on the underlying operating system, the row will be grey and the Remote Status column will display "CONFLICT". Resolve the conflict and then press F5 to refresh the list. If you hover over a service in the list, a tool tip will display which selected service, if any, requires this service. 9. Click the Remote Accounts tab. The group account IIS_IUSRS in the case of Windows Server 2008 or higher is automatically selected; the group account IIS_WPG in the case of Windows Server 2003 is automatically selected. Select additional accounts for the VAA as required. If you select user accounts that do not correspond to a service, these accounts will be imported to the operating system of the destination machine with the default password "1password!" when you dock the VAA. AppZero recommends that you change the passwords of these accounts at the earliest opportunity. 10. Optionally, specify a Configonthefly (COTF) file by enabling any of the following radio buttons: Standard AppZero Tether loads the standard COTF file (StandardCOTF.xml) and passes to the file the source name you specified in step 3. Custom select or specify a customized COTF file, for example: MyCustomCOTF.xml. AppZero supports paths that are relative to the VAA folder. That is, AppZero supports: ".\scripts\StandardCOTF.xml" or the absolute full path: "C:\appliance\VAAName\scripts\MyCustomCOTF.xml" You can also specify only the file name of the COTF file if the file is in the scripts folder. For example: "StandardCOTF.xml" 11. When you are ready to tether, click the Start Tether button. Note that the prepopulate procedure may take some time. http://docs.stage.appzero.com/book/export/html/812 27/45 17/12/2014 AppZero Application Migration Guide 12. Click the Launch Application button, and then select IIS Manager. Note that ODBC Manager is available in the Select an Application window if required for your application. The IIS Manager window opens. 13. In Tether Console, click the Remote Services tab. Rightclick each service in the list and select Start. 14. If you need to make changes to the VAA, click the Reset button. Click Yes at the prompt. This stops services, undocks the VAA, and removes Tether information from the VAA and returns it to the condition it was in before tethering. Repeat steps 7 to 13 as required. Note: If you want to connect to the source machine with a different set of credentials after you have found applications, you must first make sure that any VAAs tethered to the source machine are undocked then log out of the current Windows session. You can then use the Administrative Console to modify your VAA. Alternatively, log out, discard your VAA and start again using Tether Console. 15. You are now ready to launch the application so you can exercise the main components of the application and test the application while it is tethered. Click the Launch Application button to select an application associated with a selected remote product or to open the AppZero command prompt. The Select an Application window opens. Do one of the following: Select an application from the list, and then click Select. The selected application opens. Select AppZero Command Prompt. The AppZero command prompt opens. 16. Exercise the application by connecting to the localhost with a browser. Verify that the features of the application are functioning properly. See Running and Exercising Your Application for more information. 17. As required, use AppZero Tether Monitor to monitor Tether activity and get an idea of when application components have been fully copied from the source machine. For more information, see Monitoring Migration. 18. When you are satisfied that the main components of your application have been migrated, do the following: Close your application. Click the Remote Services tab, and then rightclick each service and select Stop. 19. Click the Finish Tether button. This exits AppZero Tether Console. 20. You are now ready to Dissolve the VAA. Before you run Dissolve, you must use the Windows Service Control Manager on the destination machine to stop all IIS services. For information about dissolving IIS applications, see About Dissolve and To Dissolve an Application. To Migrate an IIS Application Using the AppZero CLI IMPORTANT! You must be logged in as the System Administrator on the destination machine. Before you migrate an application, complete the requirements listed in Are You Ready to Migrate an IIS Application? http://docs.stage.appzero.com/book/export/html/812 28/45 17/12/2014 AppZero Application Migration Guide Notes Both destination and source machines must be server machines. AppZero does not support IIS migrations to desktop operating systems (Windows XP, Windows Vista, Windows 7, Windows 8). Remote services will not be retrieved if communication with the source machine is interrupted during the tethering process. This may occur for a number of reasons; for example, if the firewall on the source machine is enabled while tethering is in progress. If remote services are not retrieved, try any of the following: disable the firewall on the source machine; make sure that the Remote Registry service is enabled on the source machine; make sure that the user credentials you specify to connect to the source machine are correct; check the Tether log. Once you have identified the issue, connect to the source machine again. If you are migrating from a Windows 2000 Server source machine that has an atypical setup, some of the default paths for the scripts required to migrate an IIS application will not work and ISS migration will fail. In this case, follow the instructions in Migrating from a Windows 2000 Server with an Atypical Setup before you perform the steps in this topic. To Start Remote Registry Service on the Source Machine Remote Registry Service must be started on the source machine to migrate an application. Membership in the local Administrators group, or equivalent, on the remote computer is the minimum required to complete this procedure. 1. On the source machine, open a command prompt window. 2. Execute: sc <name of server> start RemoteRegistry To Migrate an IIS Application Using the AppZero CLI 1. Create a VAA. At the command prompt, enter the full path and name of the VAA. For example: >appzcreate C:\appliances\<VAA> /E 2. At the command prompt, specify a default application for the VAA: >appzpedit C:\appliances\<VAA> CPROP_DEFAULT_APP C:\Windows\System32\inetsrv\InetMgr.exe 3. Synchronize roles and features between the source machine and destination machine. Run the following at the command prompt: >appzmigrate /P hostname username password VAA where hostname is the name of the source machine, username is the name of the Administrator account on the source machine, password is the password of the Administrator account; VAA is the full path and name of the VAA. 4. Check for migration errors and resolve any errors. 5. Note the IIS services listed in the uos_services file in the VAA scripts folder, so you can include them in steps 9 and 18 below. 6. At the command prompt, enable Tether: >appzpedit C:\appliances\<VAA> CPROP_USE_TETHER Y <source> <username> <password> 7. As appropriate, specify the path to the Configonthefly (COTF) file: appzpedit C:\appliances\<VAA> CPROP_CONFIG_FILE <path to config file> <parameters> A standard COTF file is located in C:\appliances\<name of VAA>\scripts\StandardCOTF.xml. If you do not specify the complete path for the COTF file, AppZero automatically looks for it in the VAA\scripts directory. For example, you can specify: "StandardCOTF.xml" CPROP_SRC_NODENAME 8. List VAA services: >appzsvc c:\appliances\<VAA> list 9. Add VAA services: >appzsvc c:\appliances\<VAA> add <application service> 10. As appropriate, list user accounts on the source machine: appzuser /L server username password 11. If you need to export user accounts to the VAA, enter the following: >appzuser /X server username password account [appliance] If you select user accounts that do not correspond to a service, these accounts will be imported to the operating system of the destination machine with the default password "1password!" when you dock the VAA. AppZero recommends that you change the passwords of these accounts at the earliest opportunity. http://docs.stage.appzero.com/book/export/html/812 29/45 17/12/2014 AppZero Application Migration Guide 12. As required, specify user credentials for services: >appzsc C:\appliances\<VAA> config <services_name> /U <services_user> /P <password> 13. List the group accounts on the source machine: >appzgroup /L server username password 15. If you need to export group accounts (in addition to IIS_IUSRS or IIS_WPG, which are added automatically by AppZero) to the VAA, enter their SIDs and then export the group accounts: >appzgroup /X server username password account [appliance] 16. Import the group accounts you exported in step 15 to the destination machine as follows: >appzgroup /I bundle path 17. Dock the VAA: >appzdock c:\appliances\<VAA> 18. Start VAA services: >appzstart c:\appliances\<VAA> <application services> 19. Run IIS Manager by executing the exerciseInetmgr.bat file, which is located in C:\Program Files\AppZero\Extras\IIS\. To do this, open a command prompt outside the VAA context and execute: <Path_to_script>\exerciseInetmgr.bat <VAA_Path> 20. Close IIS Manager. 21. Open a web browser and go to: http://localhost/ 22. Browse to the application's page: http://localhost/<app name>/ You are now ready to test the VAA to make sure that it performs correctly, and then run Dissolve. Before you run Dissolve, you must use the Windows Service Control Manager on the destination machine to stop all IIS services. You can also identify IIS services by looking in the uos_services file in the VAA scripts folder. For information about dissolving IIS applications, see Are You Ready to Migrate an IIS Application? and To Dissolve an Application. For more information about appzmigrate, see appzmigrate in the AppZero Reference Guide. Performing a Staged IIS Application Migration You can migrate an IIS application from a source machine to an intermediary machine, and from the intermediary machine move the application (via a compressed VAA, called a .cap file) to a destination machine. Note: You cannot migrate an application from a 32bit machine to an intermediary 32bit machine and then on to a final 64bit destination machine; AppZero supports only a staged application migration process that goes from a 32bit machine to a 64bit machine, including at the intermediary or staged step. To Perform a Staged IIS Application Migration 1. Complete all prerequisites listed in Are You Ready to Migrate an IIS Application, and then tether your application to the intermediary machine using the instructions in To Migrate an IIS Application Using AppZero Tether Console or To Migrate an IIS Application using the AppZero CLI. 2. Doubleclick the AppZero CLI desktop shortcut, and then execute the following command: >appzcompress <VAA_PATH>\<VAA_NAME> This creates a .cap file. 3. Retrieve the .cap file. Go to: C:\appliances\<VAA_Name>.cap 4. Copy the compressed file to the final destination machine in C:\appliances\. 5. Doubleclick the AppZero CLI desktop shortcut, and then execute the following command: >appzuncompress c:\appliances\<VAA_NAME> 6. Doubleclick the Administrative Console desktop shortcut to open the AppZero Administrative Console. 7. If the intermediary and destination machine names are not the same, select the uncompressed VAA, and then click the COTF button. If they are the same, skip this step and continue to step 9. http://docs.stage.appzero.com/book/export/html/812 30/45 17/12/2014 AppZero Application Migration Guide Browse to the path of your COTF file. The StandardCOTF.xml file is located in C:\appliances\VAA\scripts. Enter the host name of the intermediary machine in the Arguments field, then click OK. 8. Click the Dock button to dock the VAA. 9. Click the Services tab. Start database services as well as the IIS services by rightclicking each service and selecting Start. 10. Once services are started, rightclick the appliance and select Launch Prompt. 11. Run IIS Manager: c:\windows\system32\inersrv\inetmgr.exe 12. In IIS Manager, expand the application pools and web site tree structure. 13. Open a browser and navigate to your website. Migrating an IIS Server on a Web Farm IMPORTANT! You must be logged in as the System Administrator on the destination machine. Before you migrate an application, complete the requirements listed in Are You Ready to Migrate an IIS Application? The procedure in this example includes: a domain controller with an SQL database (Windows Server 2008 R2) a machine with Application Request Routing (ARR) and network load balancing (NLB) (Windows Server 2008 R2) two IIS web servers (both Windows Server 2003) The two IIS web servers are in a load balanced cluster. In this example, we migrate Red Critter Tracker, which is using the SQL database located on the domain controller. The destination is a Windows Server 2008 R2 machine. To Migrate an IIS Web Server 1. On the destination machine, manually install the NLB feature. For information about how to install NLB, see http://www.iis.net/learn/extensions/configuringapplicationrequestrouting%28arr%29/achievinghighavailabilityandscalabilityarrandnlb. 2. On the destination machine, doubleclick the Tether Console desktop shortcut icon on your desktop or click Start>AppZero>AppZero Tether Console. AppZero Tether Console opens. 3. Set up tether credentials for one of the two IIS web servers and complete tether instructions in To Migrate an IIS Application Using AppZero Tether Console. 4. When required services have started, open html://localhost/redcrittertracker/ in the web browser. 5. On the NLB/ARR machine: Open NLB. Add the destination machine to the cluster. 6. Test the migration: Take down both IIS web servers. Open http://cluster/redcrittertracker on the domain controller. You should be able to see the Red Critter Tracker web page. Configuration Sharing In the above example, if the web site data is shared, it will also be shared on the migrated VAA. However, configuration sharing is not available in IIS 6.0. If you are using IIS 6.0, you must perform sharing manually as follows. To Set Up Shared Configuration In your web browser, go to the following address and follow the instructions: http://www.iis.net/learn/webhosting/configuringserversinthewindowswebplatform/sharedconfiguration_211 Migrating an IIS Web Site that Uses HTTPS (SSL) You must perform extra steps when migrating a web site that uses Hypertext Transfer Protocol Secure (HTTPS), because HTTPS must be configured to use a security certificate. Security certificates are created for a specific machine and are encrypted, and so AppZero cannot use the source server's security certificate on the destination server. You must therefore create a new certificate for the destination server and then register it with the bindings. The following procedure explains how to create a selfsigned certificate, which should be used for testing purposes only. You will need to create a new certificate by contacting a certificate licensing authority. 1. Complete the prerequisites listed in Are You Ready to Migrate an IIS Application? and perform steps 1 to 11 inclusive in To Migrate an IIS Application http://docs.stage.appzero.com/book/export/html/812 31/45 17/12/2014 AppZero Application Migration Guide Using AppZero Tether Console. 2. Doubleclick the AppZero CLI desktop shortcut to open an AppZero command prompt window. 3. At the command prompt, type: c:\windows\system32\inetsrv\inetmgr.exe 4. In IIS Manager, click on the server in the left pane. 5. In the middle pane, rightclick Server Certificates, and select Create SelfSigned Certificate. 6. Enter a name for the certificate. 7. Expand the server, then expand Sites and click on your web site. 8. In the right pane, click Bindings. 9. Doubleclick the binding for HTTPS. 10. Select your new certificate at the bottom of the window. 11. Test the web site. Migrating from a Windows 2000 Server Source with an Atypical Setup If you are migrating from a Windows 2000 Server source machine that has an atypical setup, some of the default paths for the scripts required to migrate an IIS application will not work. In this case, you will get the following message: IIS Admin script (adsutil.vbs) not found! To resolve this issue, perform the following steps: On the source machine: Find the directory where adsutil.vbs is located. On the destination machine: 1. Using Notepad, open the migration.config file (located in the VAA/scripts directory; this file is created when you execute appzmigrate /C). 2. Fnd the node iis5 and modify the attribute adminScriptPath: update it with the directory you found on the source machine above. You can then proceed with migrating your IIS application as described in this guide. Note that changes to the migration.config file will be implemented when you execute appzmigrate /A. To View the IIS Migration Log You can view the IIS Migration log, which is located as follows: appliances\VAA_folder\ctrack\Log\migration.log You can also view it using the Administrative Console once application migration is complete and AppZero Tether Console is closed. To View the IIS Migration Log Using the Administrative Console 1. In Administrative Console, select the VAA and then click the Appliance Logs tab. 2. Click the IIS Migration tab. IIS Migration log messages are displayed. http://docs.stage.appzero.com/book/export/html/812 32/45 17/12/2014 AppZero Application Migration Guide 3. To reload IIS Migration logs, click the Reload button. 4. To export messages to a commaseparated values (CSV) file, click the Export to CSV File button. Advanced IIS Migration Features Adding Parameters to Web Deploy You can add extra parameters to Web Deploy if required. You can add parameters to the extraction process or the creation process. You add parameters by modifying the migration.config file, which is located in the VAA\scripts folder. The file is copied to the scripts folder when you execute appzmigrate /C <VAA>. Note that the migration.config file is not created in an empty VAA; you must execute appzmigrate /C after you create a VAA before you look for the migration.config file. For information about appzmigrate, see appzmigrate in the AppZero Reference Guide. Changes that you make to the migration.config file will be implemented when you execute appzmigrate /A. To Add Parameters to the Package Extraction 1. Open the migration.config file in the VAA\scripts folder. 2. Add the following attribute to the webDeploy node: extractExtraParams="my new extra parameters" 3. Save the file. http://docs.stage.appzero.com/book/export/html/812 33/45 17/12/2014 AppZero Application Migration Guide Example <webDeploy bypassAgentServer="false" extractExtraParams="disableRule:DependencyCheckAppPoolExists" /> To Add Parameters to the Creation Process 1. Open the migration.config file in the VAA\scripts folder. 2. Add the following attribute to the webDeploy node: createPackageExtraParams="my new extra parameters" 3. Save the file. Decrypting ASP.NET 1.1 Files You can decrypt web.config files encrypted with ASP.NET 1.1 to migrate websites that don't use ASP.NET 2.0 or higher. You use appzxmlcrypt.exe to decrypt the files. Currently appzxmlcrypt can be used only with Data Protection application programming interface (DPAPI). To Decrypt web.config files Encrypted with ASP.NET 1.1 1. Copy appzxmlcrypt.exe and AppZero.XmlEncryption.dll to the source machine. 2. In a command prompt window, run the following: appzxmlcrypt.exe /C path_of_the_web_config_file 3. Run the following: appzxmlcrypt.exe /D xmlEncryption.config This creates a file called path_of_the_web_config_file.decrypted. 4. Copy path_of_the_web_config_file.decrypted to the destination machine. 5. Copy xmlEncryption.config to the destination machine. 6. On the destination machine, rename xmlEncryption.conf (remove .decrypted from the file name). 7. In a command prompt window, run the following: appzxmlcrypt.exe /E xmlEncryption.config This creates a file called path_of_the_web_config_file.encrypted. 8. Rename path_of_the_web_config_file.encrypted (remove .encrypted from the file name). 9. Copy this file to the VAA and overwrite the old web.config file. Performing a Migration without Web Deploy You can perform an application migration without using Web Deploy. To do this, manually remove the following lines of code from the migrate.config file: <webDeploy bypassAgentService="false"> <stagedMigration pkgSource="scripts" /> </webDeploy> Removing a Migration Module You can remove a migration that you don't want to run from the migrate.config file. To do this, remove a node from the migrate.config file. Example: <migrationManager debugLogs="" > <defaultMigrationsToRun> <add name="Feature" /> <add name="IIS_Test" /> <add name="Rewrite_Module" /> <add name="IIS" /> <add name="ASP.NET" /> <add name="Account" /> <add name="PHP" /> <add name="Binding" /> </defaultMigrationsToRun> </migrationManager> To remove the "Binding" migration, remove the line: <add name="Binding" /> http://docs.stage.appzero.com/book/export/html/812 34/45 17/12/2014 AppZero Application Migration Guide Using Application Discovery (PACE) Application Discovery (PACE) simplifies migration of applications from: a single source to a single destination, or multiple sources to multiple destinations Using the appzpace command line tool, you can list products installed on a local or remote machine, as well as a generate a list of installed components for each of those products. This list of components can contain file paths, registry paths, and sidebyside information. For information about PACE, see Using Application Discovery (PACE) in the AppZero Reference Guide. Running and Exercising Your Application Tether copies Windows Start menu items from the source machine to the underlying operating system of the destination machine. The Start menu location of a VAA on the destination machine is as follows: Start>All programs>AppZero VAA <VAA Name> You can use the Windows Start menu to find your application on the destination machine. The application name is the same name as the one on the source machine, except that it displays the AppZero icon. When you undock a VAA, its Start Menu item is removed; when you dock the VAA again, its Start Menu item is available once again. Applications are tethered when they are exercised via the Start Menu. Note that the presence of the Start Menu items is not an indication that the applications have been migrated. Alternatively, you can use a command prompt to run your VAA application on the destination machine, or to run several executables associated with an application. To Run a VAA Application on the Destination Machine Click Start, and then select your VAA. To Run a VAA Application Via the Command Prompt 1. In the Administrative Console, select the VAA for which you enabled Tether. 2. Click the Dock command button. If tethering was not successful, the dock operation will not succeed. 3. Rightclick the VAA, and then select Launch Prompt. This opens a command window in the VAA context. http://docs.stage.appzero.com/book/export/html/812 35/45 17/12/2014 AppZero Application Migration Guide 4. At the command prompt in the VAA context, change the directory to the location of the VAA application on the source machine. 5. Run the application executable. The application runs on the destination machine. Exercising Your Application The more you use the tethered application, the more AppZero learns about it. Exercise the application as much as possible before you disable Tether. Many registry keys and files do not get pulled across unless certain parts of the application are exercised. For example, rightclick operations in SQL Management Studio will not work untethered if they were not exercised while tethered. Note: An application may run more slowly than you are used to when it is tethered. This is temporary; the application will run as usual on the destination machine once you have exercised the application and completed Tether. Monitoring Migration Monitoring Migration You can monitor AppZero Application Migration and tethered VAAs using AppZero Tether Monitor, which is located in the Windows Taskbar. You can use AppZero Tether Monitor to: monitor the activity of a tethered VAA view the live Tether log for a tethered VAA in order to view activity and any errors The Tether Monitor icon spins when information is being copied from the source machine to the destination machine, for the duration of the activity. If you place your cursor over the static icon, a popup displays when the last activity occurred. A VAA must be docked and tethered to monitor it. You must show icons in the Taskbar and allow tray icon notifications to use AppZero Tether Monitor. To Show the Tether Monitor Taskbar Icon and Allow Notifications 1. Rightclick the Taskbar, and then select Properties. 2. Turn the icon for Tether Monitor On. 3. Click Customize Notification Icons. 4. Click Show Icon and Notifications for Tether Monitor. 5. Click OK. To Access AppZero Tether Monitor Do one of the following: Click the AppZero icon in the Windows System Tray, or http://docs.stage.appzero.com/book/export/html/812 36/45 17/12/2014 AppZero Application Migration Guide Click Start>AppZero>AppZero Tether Monitor. To Monitor a Tethered VAA 1. Click the Tether Monitor icon in the Taskbar. 2. Select the tethered VAA in the Tether Monitor list, and then select Live Tether Log. The live tether log is displayed for the selected VAA. 3. Do any of the following as appropriate: To view the live Tether log for another tethered VAA, select another VAA; the Tether log toggles to the other VAA. To view when the last activity occurred for a tethered VAA, place your cursor over the Tether Monitor Icon in the Taskbar. The last activity is displayed in a popup. To Exit AppZero Tether Monitor 1. Click the AppZero icon in the Windows System Tray. 2. Select Exit. Tether Logging You can enable or disable logging of Tether activities and set logging values for Tether using the Administrative Console. For more information, see the AppZero Administration Guide. The default logging level for Tether is Errors Only. Viewing the Tether Log Error or debugging messages are output to the Windows Event Viewer, in the category AppZero. You can view the live Tether log for a tethered application. See Monitoring Migration. To view the Migrate log for an IIS application migration, see To View the IIS Migration Log. You can also view the Tether log using the Administrative Console. To View the Tether Log Using the Administrative Console 1. In the Administrative Console, select the VAA for which you enabled Tether, and then click the Appliance Logs tab. 2. Click the Tether tab. Tether log messages are displayed. http://docs.stage.appzero.com/book/export/html/812 37/45 17/12/2014 AppZero Application Migration Guide 3. To reload Tether logs, click the Reload button. 4. To export messages to a commaseparated values (CSV) file, click the Export to CSV File button. Dissolving Your Application About Dissolve Dissolve is an AppZero CLI utility that lets you remove AppZero encapsulation from the appliance application and transfer it to the underlying operating system of the destination machine so that the application will behave as if natively installed. There is no limit to the number of times that you can run the appzdissolve command on an appliance. If your AppZero license key does not include Dissolve, contact your AppZero Sales Representative to inquire about evaluating the Dissolve function. See Dissolve License for more information. The Dissolve Process The following diagrams illustrate the Dissolve process. Example 1 illustrates Dissolving in a basic scenario, where you migrate an application from Machine A to Machine B and Dissolve the VAA application on Machine B. Example 2 ilustrates Dissolve in a scenario where you migrate an application to Machine A, compress the VAA application and move it to Machine B, and then uncompress the VAA application and Dissolve it on the final destination machine (Machine B). Dissolve Example 1 Dissolve Example 2 http://docs.stage.appzero.com/book/export/html/812 38/45 17/12/2014 AppZero Application Migration Guide ApplicationSpecific User and Group Accounts Your application may require user and group account information in order to run correctly. If you selected user and group accounts during the VAA creation process, this information is stored in the following directory: C:\appliances\<VAA>\cstore\accounts The Dissolve process begins by adding these user and group accounts to the system. Dissolve and Drive Letters AppZero does not provide the ability to remap drive letters during migrations. Therefore, AppZero requires that drive letters that are present on the source machine also be present on the destination server before you begin a migration. The Windows system drive (that is, the drive that contains %WINDIR%) MUST also be the same on the source and destination machines. If you require specific drive assignations as part of your IT policy requirements, you can change drive letters using standard Windows operating system methods after you dissolve your VAA. Note that you may have to manually change the configuration of specific applications to get them to work after you perform this drive letter change. To view your drive letter assignments, perform the following: Note: You cannot reassign the drive letter for the system drive. On Windows 2003: 1. Rightclick My Computer> Manage. 2. Select Storage>Disk Management. 3. To assign a different drive letter, rightclick the partition in question and select Change Drive Letter and Paths.... On Windows 2008 / 2008 R2: 1. Open Server Manager. 2. Go to Storage>Disk Management. 3. To assign a different drive letter, rightclick the partition in question and select Change Drive Letter and Paths... On Windows 2008 / 2008 R2: 1. Open Server Manager. 2. Go to Tools>Computer Management. 3. Go to Storage>Disk Management. 4. To assign a different drive letter, rightclick the partition in question and select Change Drive Letter and Paths... Dissolve and vdrives To dissolve a VAA that contains additional vdrives (e.g., cstore_D, cstore_E) to a destination computer, the destination computer must include matching drives. If a matching drive does not exist, a message displays which virtual drives are not available as physical drives on the destination computer. If a matching physical drive is not available, you can create a substitute drive mapping on the destination operating system. The appzdissolve command will treat the substitute drive as a physical drive and dissolve the VAA successfully. SUBST: SUBST [drive1: [drive2:]path] Associates a path with a drive letter. SUBST drive1: /D http://docs.stage.appzero.com/book/export/html/812 39/45 17/12/2014 AppZero Application Migration Guide drive1: Specifies a virtual drive to which you want to assign a path. [drive2:]path Specifies a physical drive and path you want to assign to a virtual drive. /D Deletes a substituted (virtual) drive. To display a list of current virtual drives, type the following with no parameters: SUBST For more information about SUBST, see: http://technet.microsoft.com/enus/library/bb491006.aspx Using Configonthefly with Dissolve Your VAA may contain configuration information from another system; this information may not be compatible with the current system. You can use a Config onthefly file to update the configuration information so that it works with the current system. You may need to update the settings in the configuration file with information from the current system. You specify the Configonthefly file using the following property: CPROP_CONFIG_FILE To Enable Configonthefly Using the Administrative Console 1. In the Administrative Console, select the VAA, and then click the Appliance Settings tab. 2. In the Config file path field, click the browse button to find the location of the Configonthefly file. Alternatively, you can use the appzpedit command line utility to enable Configonthefly. For information about appzpedit, see the AppZero Reference Guide. For information about the Configonthefly file, see the AppZero Reference Guide. Configonthefly on Demand and Dissolve You can execute Configonthefly on demand after you dissolve a VAA, using the Administrative Console or the command line utility appzcotf. See Config onthefly on Demand for more information. See the AppZero Reference Guide for information about appzcotf. Dissolving IIS Applications Before you run Dissolve for an IIS application, you must use the Windows Service Control Manager on the destination machine to stop all IIS services. AppZero recommends that you use the appzdissolve /F flag if you are using a clean destination machine (one that did not have IIS applications before the Tether operation). Enabling Dissolve for an Existing Installation You can enable Dissolve for an existing AppZero installation that is not currently licensed for Dissolve. To Enable Dissolve for an Existing AppZero Installation 1. Contact [email protected] to obtain a license key that enables Dissolve. 2. In the Administrative Console, choose Help>Update License Key. 3. Enter your company name in the Company Name field. 4. Enter the license key in the License Key field. 5. Click Save. 6. Exit the Administrative Console. Dissolve License If your AppZero license key does not include Dissolve, contact your AppZero Sales Representative to inquire about evaluating the Dissolve function. To see whether your license key includes Dissolve, select Help>About in the Administrative Console. The features that are included in the license key are listed in the License Details field. http://docs.stage.appzero.com/book/export/html/812 40/45 17/12/2014 AppZero Application Migration Guide Dissolve Syntax The following is the appzdissolve command usage: appzdissolve appliance /M:<SID_in_appliance>=<SID_in_host>,...][/M:?] [/V] [/F] appliance The full path of the appliance. /M:<SID_in_appliance>= <SID_in_host>,... Merge the appliance user SID with the local computer's user SID. /M:? Show the default SID mappings. /V Dissolve by moving files. /F Overwrite existing files without checking the file timestamp. The user profile registry keys are the user SIDs under the HKEY_USERS registry hive. When an appliance is moved from one computer to another, the user profiles in the appliance may not exist in the current computer. Use the /M option to specify how the appliance user SIDs are mapped to the user SIDs in the local registry. By default, Dissolve copies files from the VAA to the system. Use the /V option to move files from the VAA to the system. This option speeds up the processing of files significantly if the VAA is on a local drive; otherwise, Dissolve automatically uses the copy option. All files except the winsxs folder in the VAA use the option; the winsxs, the registry keys, and the services are created with the appropriate win API calls. Notes: If you use the /V option, do not use the VAA after the Dissolve process because the VAA's file set will be incomplete. Before you dissolve a VAA, use appzcompress to compress the VAA into a .cap file so that a backup is available. If you use the /F option, an existing file will be overwritten even if this file is newer. If the file is in use, the file will be flagged as not dissolved in the appzdissolve report. Example: /M Option appzdissolve C:\appliances\myappliance /M:S152112456033119853395192248657795500=S1521340003980 14342189898567310500 Assume that there are three subhives: "Control Panel", "Keyboard Layout", and "Software" for the user SID S15211245603311985339519 2248657795500 in the appliance. The example above indicates that the subhives will be merged into the subhives of HKEY_USERS into the user SID S1 521. If you do not specify the /M option, the Dissolve process tries to map the user SID to the current user SID only if the user SID belongs to the local administrator. /M:? shows the default user SID mappings used by Dissolve. For example, the SID S15212044088009675635282661446963500 of ‘Administrator\Windows5’ will be mapped to the SID S1521326684030912941447503567850867500 of ‘Administrator\LocalHost’. Unmapped user profiles will be discarded by the process, but you can import them manually later. Example Usage http://docs.stage.appzero.com/book/export/html/812 41/45 17/12/2014 AppZero Application Migration Guide To Dissolve an Application Note: If you wish to run Dissolve for an IIS application, you must first use the Windows Service Manager on the destination machine to stop all IIS services. To Prepare for Dissolve 1. Uncompress the VAA if it is compressed: in the Administrative Console, select the VAA, and then click Uncompress. 2. If services are associated with the selected VAA and these services are running, click the Services tab, then rightclick each service and select Stop to stop the services. 3. Click Undock. 4. Click the Tether tab. 5. Disable Tether if it is enabled: deselect the Enable Tether check box. 6. Click Save. 7. At the prompt, click Yes or No to regenerate the VAA template as appropriate. To Dissolve an Application 1. Dissolve the VAA using the appzdissolve command. In a command prompt window, execute: appzdissolve appliance [/A] /M:<SID_in_appliance>=<SID_in_host>,...][/M:?] [/V] [/F] 2. Review the Dissolve report for the VAA, located in the following directory: c:\appliances\<VAA>\AppzDissolve_Report.html 3. Resolve any issues or errors listed in the Dissolve report. If you resolved issues, run Dissolve again. Run Dissolve as many times as required to successfully dissolve the application. 4. Restart your computer. If you do not restart, services may not start correctly and may not display correctly in the Services Control Manager. http://docs.stage.appzero.com/book/export/html/812 42/45 17/12/2014 AppZero Application Migration Guide To Modify ConfigontheFly When Dissolving Dissolving a VAA Without Using ConfigontheFly You can opt to dissolve a VAA without using ConfigontheFly (COTF). This is useful when you create a VAA and dissolve it on a destination machine (Machine A), without compressing and moving the VAA to a second destination machine (Machine B). COTF is not required in this case. Use pedit to change the CPROP_CONFIG_FILE property. For example: >appzpedit c:\appliances\MyVAA CPROP_CONFIG_FILE "" Modifying ConfigontheFly Let's say that you create a VAA, compress it into a .cap file, move the compressed file from one destination machine (Machine A) to a second destination machine (Machine B), and then dissolve the VAA. In this scenario, you will edit the $cotf0 argument using appzpedit.exe to change it from Machine A to Machine B. Change the CPROP_CONFIG_FILE property as follows, for example: >appzpedit c:\appliances\myVAA CPROP_CONFIG_FILE "C:\appliances\myVAA\scripts\StandardCOTF.xml" "SQLSERVER2" Dissolve Report Running the appzdissolve command generates two HTML Dissolve reports, which contain information about the number of files, keys, and services processed, dissolved, and not dissolved: AppzDissolve_ShortReport.html the general report, which lists a summary and only the components that were not dissolved in order to minimize the file size AppzDissolve_Report.html the detailed report, which lists a summary as well as the dissolved and undissolved components The contents of AppzDissolve_ShortReport.html are as follows: summary users, groups dissolved winsxs dissolved services dissolved users, groups not dissolved winsxs not dissolved services not dissolve files not dissolved keys not dissolved The contents of AppzDissolve_Report.html are as follows: summary users, groups dissolved winsxs dissolved services dissolved files dissolved keys dissolved users, groups not dissolved winsxs not dissolved services not dissolve files not dissolved keys not dissolved The reports are located in the same folder as the VAA: http://docs.stage.appzero.com/book/export/html/812 43/45 17/12/2014 AppZero Application Migration Guide c:\appliances\<VAA>\AppzDissolve_ShortReport.html c:\appliances\<VAA>\AppzDissolve_Report.html Be sure to review a Dissolve report after you run Dissolve. Address any issues or errors raised in the report, and then dissolve the VAA again and as many times as required until the VAA is successfully dissolved to the underlying operating system. Sample Dissolve Report The following illustrates part of a sample AppzDissolve_Report.html report: Viewing the Dissolve Report You can view a Dissolve report in the c:\appliances\<VAA> folder. To View a Dissolve Report using the Administrative Console 1. After you dissolve the VAA, click the Appliance Logs tab. 2. Click the Dissolve tab. 3. Click either of the following buttons: View General Dissolve Report View Detailed Dissolve Report http://docs.stage.appzero.com/book/export/html/812 44/45 17/12/2014 AppZero Application Migration Guide The Dissolve report is displayed in your browser. Dissolve Logging You can specify logging settings for Dissolve using the Administrative Console. For information, see the AppZero Administration Guide. Uninstalling and Upgrading Dissolved Applications If you uninstall a dissolved application from Programs and Features in an uparchitecture migration (a migration from x86 to x64), there may still be files left behind after the product is uninstalled. For this reason AppZero does not support uninstallation or upgrading of uparchitecture products; you may experience issues if you try to uninstall an uparchitecture product after a Dissolve. You may also experience issues when applying patches and performing upgrades concerning uparchitecture products. Dissolve Error Messages Matching Drive Does Not Exist To dissolve a VAA that contains additional vdrives (e.g., cstore_D, cstore_E) to a destination computer, the destination computer must include matching drives. If a matching drive does not exist, a message displays which virtual drives are not available as physical drives on the destination computer. For example: Host OS version: Microsoft Windows Server 2008 R2 64bit (build 7600) VAA source OS version: Microsoft Windows Server 2008 R2 64bit (build 7600) C:\appliances\apacheDissolveTest\cstore_C will be mapped to C:\ drive. ERROR: Cannot map C:\appliances\apacheDissolveTest\cstore_D to a drive. Drive D does not exist on the host. ERROR: Cannot proceed to dissolve the appliance C:\appliances\<vaaname> Creating a VAA by Tethering to a VAA Template You can create a VAA by tethering to an existing VAA template. All the content described in the VAA template will be copied from the source machine to the destination machine. For information about how to create a VAA by tethering to a VAA template, see the AppZero Reference Guide. http://docs.stage.appzero.com/book/export/html/812 45/45
© Copyright 2024