AX7: Install a deployable package
Table of Contents
Introduction
This tutorial walks you through the steps for applying a deployable package on a system. This package can be either a binary hotfix for Application Object Server (AOS) or a deployable package that was created in your development environment.
This article describes the process using the command line and requires remote access to the environments. On the other hand, and in most cases, you can apply a deployable package to an environment directly from Dynamics Lifecycle Services (LCS) as described in Apply a deployable package on a system, without the need to understand the process described on this page.
Key concepts
- Deployable package – A deployable package is a unit of deployment that can be applied in any environment. It can consist of a binary hotfix to the AOS runtime components, an updated application package, or a new application package.
- AXUpdateInstaller – A deployable package has the installer executable bundled in it. When the package is downloaded to a computer, the installer is available.
- Runbook – The deployment runbook is a series of steps that is generated for applying the deployable package to the target environment. Some of the steps are automated, and some are manual. AXUpdateInstaller provides the capability to run these steps one by one and in the correct sequence.
Collect topology configuration data
- In Microsoft Dynamics Lifecycle Services (LCS), open the Environment page.
- Click the name of a virtual machine (VM), and establish a Remote Desktop connection to the VM by using the user name and password that are provided on the Environment page.
- On the VM, download the zip file for the deployable package from LCS. Note: After you download the zip file, right-click it, and then select Properties. Then, in the Properties dialog box, on the General tab, click Unblock to unlock the files. Finally, extract the files, and continue with the next step.
- In the folder where the deployable package was extracted, find and open the file that is named DefaultTopologyData.xml. You must populate this file with the VM name and installed components.
- To populate the VM name, follow these steps:
- Open Windows Explorer, right-click This PC, and then select Properties.
- In the system properties, find and make a note of the machine name (for example, AOS-950ed2c3e7b).
- In the DefaultTopologyData.xml file, replace the machine name with the name that you found in the previous step.
- To populate the installed components, follow these steps:
- Open a Command Prompt window as an administrator.
- Navigate to the extracted folder, and run the following command to see a list of all the installed components on the computer.
AXUpdateInstaller.exe list
- Update the DefaultTopologyData.xml with the list of components.
When you’ve finished populating the VM name and installed components, the DefaultTopologyData.xml file should resemble the following illustration.

- To populate the VM name, follow these steps:
- Repeat steps 2 through 4 for each VM that is listed on the Environment page.
Generate a runbook from the topology
Based on the topology information in the DefaultTopologyData.xml file, you must generate the runbook file that will provide step-by-step instructions for updating each VM.
- On any VM, run the following command to generate the runbook.
AXUpdateInstaller.exe generate –runbookid=[runbookID] –topologyfile=[topologyFile] –servicemodelfile=[serviceModelFile] –runbookfile=[runbookFile]
Here is an explanation of the parameters that are used in this command:
- [runbookID] – A parameter that is specified by the developer who applies the deployable package
- [topologyFile] – The path of the DefaultTopologyData.xml file
- [serviceModelFile] – The path of the DefaultServiceModelData.xml file
- [runbookFile] – The name of the runbook file to generate (for example, AOSRunbook.xml)
Example
AXUpdateInstaller.exe generate -runbookid="VAL200AA2BMEDIU-runbook" -topologyfile="DefaultTopologyData.xml" -servicemodelfile="DefaultServiceModelData.xml" -runbookfile="VAL200AA2BMEDIU-runbook.xml"
The runbook provides the sequence of steps that must be run to update the environment. The following illustration shows an example of a runbook file. Each step in a runbook is associated with an ID, a machine name, and step execution details.

Install a deployable package
- Based on the sequence of steps that is specified in the runbook, start with the first machine that is listed.
- Follow these steps on each VM:
- Import the runbook by running the following command.
AXUpdateInstaller.exe import -runbookfile=[runbookFile]
Example
AXUpdateInstaller.exe import -runbookfile="VAL200AA2BMEDIU-runbook.xml"
- Verify the runbook.
AXUpdateInstaller.exe list
- Execute the runbook.
AXUpdateInstaller.exe execute -runbookid=[runbookID]
Example
AXUpdateInstaller.exe execute -runbookid="VAL200AA2BMEDIU-runbook"
- Export the runbook.
AXUpdateInstaller.exe export -runbookid=[runbookID] -runbookfile=[runbookFile]
Example
AXUpdateInstaller.exe export -runbookid="VAL200AA2BMEDIU-runbook" -runbookfile="VAL200AA2BMEDIU-runbook.xml"
- Import the runbook by running the following command.
- AXUpdateInstaller updates the runbook file after each step is run on a VM.
- The runbook also logs information about each step.
- For manual steps, follow the instructions, and then mark the step as completed in the runbook by using the AXUpdateInstaller.
AXUpdateInstaller.exe execute -runbookID=[runbookID] -setstepcomplete=[stepID]
Example
AXUpdateInstaller.exe execute -runbookid="VAL200AA2BMEDIU-runbook" -setstepcomplete=2
- After all the steps are completed on one machine, export the runbook results.
AXUpdateInstaller.exe export -runbookID=[runbookID] -runbookfile=[runbookFile]
Example
AXUpdateInstaller.exe export -runbookid="VAL200AA2BMEDIU-runbook" -runbookfile="VAL200AA2BMEDIU-runbook.xml"
- Log on to the second machine that is listed, and repeat steps 1 through 6 until all machines have been updated.
- If errors occur during any step, debug the script/instruction in the step, and update accordingly.
Back up the database and computer instance
- After all the services are stopped, make a backup of the database and VM snapshot manually (optional). Then run the following command to mark the backup step as completed. Supply the correct backup step ID.
AXUpdateInstaller.exe execute -runbookid=[runbookID] -setstepcomplete=[stepID]
Example
AXUpdateInstaller.exe execute -runbookid="VAL200AA2BMEDIU-runbook" -setstepcomplete=3
Update files
- After you’ve marked the backup step as completed, the next step is triggered. In the sample step, AOS packages are updated from the deployable package.
- Run the following command to verify that the new version is installed.
AXUpdateInstaller.exe list
- View the runbook to see the completed steps.

Run database synchronization
- At one point, you will see a database synchronization (DBSync) step.

Start all services
- After the database synchronization step is completed, follow the same instructions to complete the remaining steps. All the services will be started.
Troubleshooting
- After all the steps are completed, export the runbook, and save it outside the computer for future reference. For example, you might have to use the runbook file in these situations:
- You must analyze the downtime requirements for production, and so on.
- You must send the file to Microsoft in the event of failure to install a deployable package.
- If any step fails, you can rerun it by running the following command.
AXUpdateInstaller.exe execute -runbookid=[runbookID] -rerunstep=[stepID]
- To prevent version mismatch or downgrade, or installation of the same deployable package, run the following command.
AXUpdateInstaller.exe execute -runbookid=[runbook ID] -versioncheck=true
- To verify database synchronization, navigate to the aosservce\scripts\ folder and find the dbsync.error.txt file. Find the file, and look for any errors.
AX7: Install a deployable package的更多相关文章
- 在绘图的时候import matplotlib.pyplot as plt报错:ImportError: No module named '_tkinter', please install the python-tk package
在绘图的时候import matplotlib.pyplot as plt报错:ImportError: No module named '_tkinter', please install the ...
- ImportError: No module named '_tkinter', please install the python3-tk package
ImportError: No module named '_tkinter', please install the python3-tk package 先更新包,命令:sudo apt-get ...
- Centos6版本使用yum报错 Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfi Setting up Install Process No package gcc available. Error: Nothing to do
在使用Centos6版本yum时报错 Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds ...
- ubuntu下使用python3的有些库时,解决"raise ImportError(str(msg) + ', please install the python3-tk package') ImportError: No module named '_tkinter', please install the python3-tk package"的错误
问题: 在Ubuntu下使用matplotlib这个库时,运行时出现如下错误: raise ImportError(str(msg) + ', please install the python3-t ...
- sudo apt install libreadline-dev Reading package lists... Error!
luo@luo-ThinkPad-W540:~$ luo@luo-ThinkPad-W540:~$ luo@luo-ThinkPad-W540:~$ luo@luo-ThinkPad-W540:~$ ...
- You need to install the perl-doc package to use this program
You need to install the perl-doc package to use this program 解决方案:apt-get install perl-doc
- yum -y install pip No package pip available. Error: Nothing to do
centos下安装pip时失败: [root@wfm ~]# yum -y install pipLoaded plugins: fastestmirror, refresh-packagekit, ...
- Python ImportError: No module named '_tkinter', please install the python3-tk package
ImportError: No module named '_tkinter', please install the python3-tk package 这个问题的原因是使用的python3环境内 ...
- maven install与maven package 的区别
mvn install 是将你打好的jar包安装到你的本地库中,一般没有设置过是在 用户目录下的 .m2\下面.mvn package 只是将你的代码打包到输出目录,一般的是 target下面.
随机推荐
- js将金额专成每隔3位数加逗号
js将金额专成每隔3位数加逗号,比如 12345.00 转成 12,345.00; 懒得解释具体代码如下 //分割 String.prototype.joinByNum = function(num, ...
- 使用gnucash查看任意时间段内的所有者权益变动表
gnucash默认会以当年的会计账期显示所有者权益变动表 如果要看指定时间的所有者权益变动表,需要这样做 打开所有者权益变动表 点击上面的[选项] 如图 在常规中自行选择日期 确定后就能够看到指定时间 ...
- sql语句 decimal(18,0)什么意思
decimal(18,0)18是定点精度,0是小数位数.decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38.b指定小数点右边可以存储的十进制数字的最大个数. ...
- 兼容ie7、8、9、10、FF、Chrome的遮罩显示
经常碰到这种情形,要实现图片上有一层遮罩和按钮,鼠标滑过时遮罩颜色变深且按钮图片变化,磕磕碰碰终于弄出来题目所述兼容的解决方案. 对于遮罩的实现,将遮罩层.按钮.图片放置在同一个div中,根据abso ...
- BLE 信道
广播信道频点的选择原则上是为了远离诸如WiFi接入点的严重干扰.这些接入点通常选择802.11信道中的3个:信道1.6.11.这几个信道的中心频率分别为2412/2437/2462,宽度大概为20MH ...
- WebService 不依赖配置文件直接在构造函数配置地址
研究了下 ClientBase(Binding binding, EndpointAddress remoteAddress) 这个重载更好用,都不用填名称比如 new PAS.WebService. ...
- JAVA之Forward 和 Redirect的区别
1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址 ...
- Request.UrlReferrer
1:Request.UrlReferrer可以获取客户端上次请求的url,这样就可以实现类似“上一页”的功能等 2:刷新当前页面,不会改变Request.UrlReferrer的值 3:如果有A,B两 ...
- cookie 和session 的区别:
1.cookie数据存放在客户的浏览器上,session数据放在服务器上.2.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session.3. ...
- -Three.js开发指南---用three.js创建你的第一个三维场景(第一章)
本章主要做了下面的工作 1 生成一个简单的场景,该场景的物体只有平面和坐标轴 2 在第一个demo的基础上添加光源和方块物体,并生成阴影 3 在第二个demo的基础上,增加动画,使得方块进行旋转 4 ...