{"id":12793,"date":"2025-05-15T15:22:51","date_gmt":"2025-05-15T14:22:51","guid":{"rendered":"https:\/\/ricardomoinhos.com\/?p=12793"},"modified":"2025-05-16T13:29:54","modified_gmt":"2025-05-16T12:29:54","slug":"migrating-existing-update-service-server-instance-to-a-new-server","status":"publish","type":"post","link":"https:\/\/ricardomoinhos.com\/pt\/migrating-existing-update-service-server-instance-to-a-new-server\/","title":{"rendered":"Migrating existing Update Service Server instance to a new server"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>Hi,<\/p>\n\n\n\n<p>Thanks for every partner attending ConneXion 2025 EMEA in Lisbon, last week.<\/p>\n\n\n\n<p>During the conference, I was asked twice by partners about migrating an existing Update Service Server instance to a new server.<\/p>\n\n\n\n<p>At the time, I didn\u2019t have an answer, but it was definitely something to follow up on and provide guidance to our partners.<\/p>\n\n\n\n<p>This week, I took a few minutes to test this scenario, and below I\u2019m sharing an overview of the steps required to complete the process.<\/p>\n\n\n\n<p>I\u2019m intentionally skipping some details\u2014such as how to back up and restore the database, or how to install IIS on the destination server if it\u2019s not already installed\u2014assuming that our partners are familiar with these steps. However, feel free to reach out if that\u2019s not the case.<\/p>\n\n\n\n<p>And automating the process wasn\u2019t my focus here, but it\u2019s possible to streamline the steps using PowerShell scripts to reduce manual effort and speed things up.<\/p>\n\n\n\n<p>Note that this migration is not supported out of the box. It\u2019s not a one-click operation, but the process is fairly straightforward. There are just a few minor issues to watch out for, which I\u2019ve highlighted in this article to help you avoid spending extra time troubleshooting them.<\/p>\n\n\n\n<p>Depending on your infrastructure, some adjustments might be necessary. But for the most common scenarios, these steps should work just fine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Overview<\/h2>\n\n\n\n<p>Here&#8217;s an overview of the required steps, to be easier to follow:<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Migration Steps &#8211; In the Update Service Server<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Backup the <strong>UpdateService <\/strong>database from the source SQL Server instance and restore in the destination server.<\/li>\n\n\n\n<li>Copy the IIS folder for Update Service Server, from the source server, to the same path in the destination server.\n<ul class=\"wp-block-list\">\n<li>It is located here: <strong>C:\\inetpub\\wwwroot\\Update Service Server<\/strong><\/li>\n\n\n\n<li>This folder contains the Update Service Server management console site and all the files storage that contains all the existing packages\/bundles that have been downloaded from LS Retail&#8217;s public Update Service Server, or created and uploaded by the partner;<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>In IIS:\n<ol class=\"wp-block-list\">\n<li>Create a new <strong>Application Pool<\/strong> specific to Update Service Server<\/li>\n\n\n\n<li>Create a new <strong>Website <\/strong>specific to Update Service Server\n<ol class=\"wp-block-list\">\n<li>Port 8060 (http)<\/li>\n\n\n\n<li>Folder: C:\\inetpub\\wwwroot\\Update Service Server<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Install missing IIS modules<\/li>\n\n\n\n<li>Fix <strong>Data<\/strong> folder permissions, in C:\\inetpub\\wwwroot\\Update Service Server<\/li>\n<\/ol>\n<\/li>\n\n\n\n<li>Updating settings in the new <strong>Update Service Server <\/strong>management console<\/li>\n\n\n\n<li>Install <strong>Update Service Server Cmdlet <\/strong>powershell module<\/li>\n\n\n\n<li>Migrate the <em>project scaffolding <\/em>folder from the source to the destination server<\/li>\n\n\n\n<li>Allow inbound firewall connections to Update Service management console port (8060)\n<ul class=\"wp-block-list\">\n<li>This was required to connect from the POS to Update Service Server VM, because I was running it in a VM in Azure, so it really depends on your infrastructure and policies.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\">Migration Steps &#8211; In the POSes<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Update the <strong>Update Service Client<\/strong> setup in the POSes to connect to the new <strong>Update Service Server<\/strong><\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Migration Steps &#8211; In the Update Service Server<\/h2>\n\n\n\n<p class=\"callout-note\"><strong>NOTE<\/strong><br><br>To address some of the issues I encountered during the installation\u2014such as missing IIS modules or the Update Service Server cmdlets, which I describe below\u2014you can start by performing a fresh Update Service Server installation on the new server. After that, you can replace specific components, like the <strong>UpdateService<\/strong> database and the IIS folder\/site.<br>This approach ensures that certain prerequisites, such as the required IIS modules, are automatically installed.<br>I didn\u2019t follow this method myself; instead, I\u2019ll explain how I identified and resolved the issues I encountered during the process.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Server Requirements<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>IIS WebServer<\/strong> component -&gt; Will install <strong>IIS Management Console<\/strong><\/li>\n\n\n\n<li><strong>SQL Server<\/strong> &#8211; Same edition used in the source server, for better compatibility, and same or higher version to be able to restore the database backup<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Migrating Update Service database<\/h3>\n\n\n\n<p>Backup the <strong>UpdateService<\/strong> database from the source server and restore in the destination server.<\/p>\n\n\n\n<p class=\"callout-note\"><strong>NOTE<\/strong><br><br><strong>UpdateService <\/strong>is the default name for the database, during the Update Service Server installation steps, but you might have changed it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Migrating Update Service IIS Website<\/h3>\n\n\n\n<p>The folder for the <strong>Update Service IIS Website <\/strong>is located here: <strong>C:\\inetpub\\wwwroot\\Update Service Server<\/strong><br>The <strong>Data<\/strong> folder contains all the packages\/cache downloaded from our public Update Service Server, as well as local packages imported by the partner\/customer.<br>I&#8217;ve zipped this folder and copied the zip file from one server to the other.<\/p>\n\n\n\n<p>I had both virtual machines (VM&#8217;s) running in Azure, connected to the same internal network, so I was able to share a folder, temporarily disable the firewall in the VM, and copy the file from one VM to the other.<\/p>\n\n\n\n<p>As mentioned before, the <strong>Data <\/strong>folder contains all the existing packages in the Update Service Server so this folder can be quite big (my zip file had around 4.5 Gb).<\/p>\n\n\n\n<p>Open <strong>IIS Manager <\/strong>in the destination server.<\/p>\n\n\n\n<p>Create a new <strong>Application Pool<\/strong> specific to Update Service Server.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"826\" height=\"203\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image.png\" alt=\"\" class=\"wp-image-12799\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image.png 826w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-300x74.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-768x189.png 768w\" sizes=\"auto, (max-width: 826px) 100vw, 826px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"312\" height=\"287\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-1.png\" alt=\"\" class=\"wp-image-12800\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-1.png 312w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-1-300x276.png 300w\" sizes=\"auto, (max-width: 312px) 100vw, 312px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"784\" height=\"171\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-2.png\" alt=\"\" class=\"wp-image-12801\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-2.png 784w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-2-300x65.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-2-768x168.png 768w\" sizes=\"auto, (max-width: 784px) 100vw, 784px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Installing missing IIS modules<\/h4>\n\n\n\n<p>If a IIS module is missing, you will get an error when trying to open the website in the browser.<\/p>\n\n\n\n<pre class=\"wp-block-code has-cyan-bluish-gray-background-color has-background\"><code>There was an error while performing this operation.\n\nDetails: \nFilename: \\\\?\\C:\\inetpub\\wwwroot\\Update Service Server\\web.config\nError: \n\n---------------------------\nOK   \n---------------------------<\/code><\/pre>\n\n\n\n<p>Same goes if you try to open any of the features in IIS for the new Website. I don&#8217;t have a screenshot but you get an error when opening any of these modules in IIS for the new website:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-10.png\"><img loading=\"lazy\" decoding=\"async\" width=\"884\" height=\"473\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-10.png\" alt=\"\" class=\"wp-image-12812\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-10.png 884w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-10-300x161.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-10-768x411.png 768w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><\/a><\/figure>\n\n\n\n<p>To list the modules being used, run the following in Admin elevated command line prompt: <code>%windir%\\system32\\inetsrv\\appcmd list modules<\/code><\/p>\n\n\n\n<p>Running this command on both servers and comparing the output will enable you to understand what modules are missing.<\/p>\n\n\n\n<p>During my tests, 3 modules were missing: Rewrite-Module, AspNetCoreModuleV2 and WebSocketModule.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Rewrite Module<\/h5>\n\n\n\n<p>Install <strong>Rewrite Module<\/strong> if not available (see <strong>Error 1<\/strong> under <strong>Troubleshooting<\/strong> section)<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">AspNetCoreModuleV2<\/h5>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"316\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-5-1024x316.png\" alt=\"\" class=\"wp-image-12804\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-5-1024x316.png 1024w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-5-300x92.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-5-768x237.png 768w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-5-1536x473.png 1536w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-5.png 1804w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Check the correct version to be installed. Downloaded and installed from here: <a href=\"https:\/\/dotnet.microsoft.com\/en-us\/download\/dotnet\/7.0\">Download .NET 7.0 (Linux, macOS, and Windows) | .NET<\/a><br>https:\/\/dotnet.microsoft.com\/en-us\/download\/dotnet\/thank-you\/runtime-aspnetcore-7.0.20-windows-hosting-bundle-installer<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"666\" height=\"423\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-4.png\" alt=\"\" class=\"wp-image-12803\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-4.png 666w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-4-300x191.png 300w\" sizes=\"auto, (max-width: 666px) 100vw, 666px\" \/><\/a><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">WebSocket module<\/h5>\n\n\n\n<p>For the WebSocket module, install it from the <strong>Server Manager<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"586\" height=\"405\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-3.png\" alt=\"\" class=\"wp-image-12802\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-3.png 586w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-3-300x207.png 300w\" sizes=\"auto, (max-width: 586px) 100vw, 586px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Data folder permissions<\/h4>\n\n\n\n<p>The following folder needs to have the permissions fixed, to allow the <strong>IIS App Pool <\/strong>to access the files in the folder:<br><strong>C:\\inetpub\\wwwroot\\Update Service Server\\Data<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"344\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-6-1024x344.png\" alt=\"\" class=\"wp-image-12805\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-6-1024x344.png 1024w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-6-300x101.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-6-768x258.png 768w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-6-1536x517.png 1536w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-6.png 1591w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Add the <strong>Update Service Server<\/strong> service principal that comes from the <strong>IIS Application Pool<\/strong>, by using <code><strong>IIS APPPOOL\\Update Service Server<\/strong><\/code><\/p>\n\n\n\n<p class=\"callout-note\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-black-color\"><strong>NOTE<\/strong><\/mark><br><br>To list the service principals assigned to a folder, you can use this Powershell command:<br><code>Get-Acl &lt;folder&gt; | Format-List<\/code><br><code>Get-Acl Data | Format-List<\/code><\/p>\n\n\n\n<p class=\"callout-important\"><strong>IMPORTANT<\/strong><br><br>Make sure to replace the owner on subcontainers and objects, so that all subfolders are updated to the Update Service Server owner.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-7.png\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"527\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-7.png\" alt=\"\" class=\"wp-image-12807\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-7.png 771w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-7-300x205.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-7-768x525.png 768w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Updating settings in the new <strong>Update Service Server <\/strong>management console<\/h3>\n\n\n\n<p>Update the Public URL for the Update Service Server, if that have changed. In my server, the public URL used matches the internal IP address for the server so I need to update it.<\/p>\n\n\n\n<p>Open the Management Console, go to Settings and update the Public URL.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"274\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-12.png\" alt=\"\" class=\"wp-image-12845\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-13.png\"><img loading=\"lazy\" decoding=\"async\" width=\"942\" height=\"276\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-13.png\" alt=\"\" class=\"wp-image-12846\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-13.png 942w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-13-300x88.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-13-768x225.png 768w\" sizes=\"auto, (max-width: 942px) 100vw, 942px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Installing Update Service Server Cmdlet<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Installing missing Update Server Server packages needed to run US related scripts<\/h4>\n\n\n\n<p>If not installed, when running the scripts to create new packages and so on you will get the following error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PS C:\\LS Retail\\Offline POS&gt; .\\NewLicensePackage.ps1\nImport-Module : The specified module 'LsPackageTools\\LicensePackageCreator' was not loaded because no valid module\nfile was found in any module directory.\nAt C:\\LS Retail\\Offline POS\\NewLicensePackage.ps1:31 char:1\n+ Import-Module LsPackageTools\\LicensePackageCreator<\/code><\/pre>\n\n\n\n<p>Run the following commands in Powershell to install:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>Update Service Server Cmdlets<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>Install-UscPackage -Id 'ls-update-service-server-cmdlets'<\/code><\/li>\n\n\n\n<li>This will create folder C:\\Program Files\\LS Retail\\Update Service\\ServerCmdlets<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>The <strong>LS Package Tools<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>Install-UscPackage -Id 'ls-package-tools'<\/code><\/li>\n\n\n\n<li>Will create folders <strong>C:\\ProgramData\\LS Retail\\Modules\\LSPackageTools<\/strong> and <strong>C:\\ProgramData\\LS Retail\\Modules\\LSSetupHelper<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Reopen the Powershell console once installed.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Copying files\/folders related to the Update Service Client installation, to be able to run US related scripts to import packages to the correct server<\/h4>\n\n\n\n<p>There&#8217;s still one folder missing, that will be created by one of these parameters but some configurations will be missing and therefore it will error when creating new packages and importing them to the server:<br><strong>C:\\ProgramData\\LS Retail\\GoCurrent\\Client<\/strong><\/p>\n\n\n\n<p class=\"callout-important\"><strong><strong>IMPORTANT<\/strong><\/strong><br><br>Before moving further with next steps, my advise is to <strong>backup the existing Client folder <\/strong>in the new server, just in case \ud83d\ude42<\/p>\n\n\n\n<p>Fix the following:<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Servers.json file<\/h5>\n\n\n\n<p>Fix the server address in the servers.json file. This is the original content:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"Servers\": &#91;\n    {\n      \"Guid\": \"0dc3c9b4-0ee0-412a-844c-11a373816e9d\",\n      \"Name\": \"LS Retail's Update Service server\",\n      \"Url\": \"https:\/\/updateservice.lsretail.com\"\n    }\n    {\n      \"Guid\": \"b2ad2411-c5de-49db-b934-3a4cec559d70\",\n      \"Name\": \"Update Service Server\",\n      \"Url\": \"http:\/\/dazeu-test-us:8060\"\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>Instead of: <code>\"Url\": \"http:\/\/dazeu-test-us:8060\"<\/code> should be <code>\"Url\": \"http:\/\/dazeu-test-us-m:8060\"<\/code><\/p>\n\n\n\n<p class=\"callout-important\"><strong><strong>IMPORTANT<\/strong><\/strong><br><br>Check the right server name because if the VM name is too big, it might be slimmed down. My VM name is <strong>dazeu-test-us-mig<\/strong> but it was slimmed down to <strong>dazeu-test-us-m<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Migrating Update Service Server scripts folder<\/h3>\n\n\n\n<p>Zip and copy the files with the project scaffolding, from the source server to the destination server.<br>For example from <em>C:\\LS Retail\\Offline POS<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-8.png\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"399\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-8.png\" alt=\"\" class=\"wp-image-12808\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-8.png 684w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-8-300x175.png 300w\" sizes=\"auto, (max-width: 684px) 100vw, 684px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Configure VM firewall to allow inbound connections to Update Service Server management console (port 8060)<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-9.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"158\" src=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-9-1024x158.png\" alt=\"\" class=\"wp-image-12809\" srcset=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-9-1024x158.png 1024w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-9-300x46.png 300w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-9-768x118.png 768w, https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2025\/05\/image-9.png 1258w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Migration Steps &#8211; In the POSes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Migrating the POSes to connect to the new server<\/h3>\n\n\n\n<h5 class=\"wp-block-heading\">Servers.json file (C:\\ProgramData\\LS Retail\\GoCurrent\\Client)<\/h5>\n\n\n\n<p>Fix the server address in the servers.json file.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n  \"Servers\": &#91;\n    {\n      \"Guid\": \"b2ad2411-c5de-49db-b934-3a4cec559d70\",\n      \"Name\": \"Update Service Server\",\n      \"Url\": \"http:\/\/10.211.4.21:8060\"\n    },\n    {\n      \"Guid\": \"0dc3c9b4-0ee0-412a-844c-11a373816e9d\",\n      \"Name\": \"LS Retail's Update Service server\",\n      \"Url\": \"https:\/\/updateservice.lsretail.com\"\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<p>Instead of: <code>\"Url\": \"http:\/\/10.211.4.21:8060\"<\/code> should be <code>\"Url\": \"http:\/\/10.211.4.13:8060\"<\/code><\/p>\n\n\n\n<p class=\"callout-note\"><strong>NOTE<\/strong><br><br><code><code>10.211.4.13<\/code><\/code> is the ip address for my new VM I have created to host the new Update Service Server in this test.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h4 class=\"wp-block-heading\">Error 1<\/h4>\n\n\n\n<p>When trying to open the website, I always get the following error:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>There was an error while performing this operation.\n\nDetails: \nFilename: \\\\?\\C:\\inetpub\\wwwroot\\Update Service Server\\web.config\nError: \n\n---------------------------\nOK   \n---------------------------<\/code><\/pre>\n\n\n\n<p>Most likely this is because some IIS modules\/feature is missing in the destination website and that is (at least) the URL Rewrite Module.<\/p>\n\n\n\n<p>To fix, download it from https:\/\/www.iis.net\/downloads\/microsoft\/url-rewrite. Install it and restart IIS Manager.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>If you are a LS Retail partner, I strongly advise you to get familiar with Update Service and use it in your implementations.<\/p>\n\n\n\n<p>I hope you enjoyed this article and found it useful. Please share your comments.<\/p>\n\n\n\n<p>Thanks and keep the good work!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi, Thanks for every partner attending ConneXion 2025 EMEA in Lisbon, last week. During the conference, I was asked twice by partners about migrating an existing Update Service Server instance to a new server. At the time, I didn\u2019t have an answer, but it was definitely something to follow up on and provide guidance to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1358,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[4],"tags":[59,75,77,70,76,74],"class_list":{"0":"post-12793","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","6":"hentry","7":"category-dynamics365bc","8":"tag-businesscentral","9":"tag-distributedsystem","10":"tag-erp","11":"tag-lscentral","12":"tag-retail","13":"tag-updateservice","15":"post-with-thumbnail","16":"post-with-thumbnail-icon"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Migrating existing Update Service Server instance to a new server - Ricardo Paiva Moinhos<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Migrating existing Update Service Server instance to a new server - Ricardo Paiva Moinhos\" \/>\n<meta property=\"og:description\" content=\"Hi, Thanks for every partner attending ConneXion 2025 EMEA in Lisbon, last week. During the conference, I was asked twice by partners about migrating an existing Update Service Server instance to a new server. At the time, I didn\u2019t have an answer, but it was definitely something to follow up on and provide guidance to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/\" \/>\n<meta property=\"og:site_name\" content=\"Ricardo Paiva Moinhos\" \/>\n<meta property=\"article:published_time\" content=\"2025-05-15T14:22:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-16T12:29:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2020\/02\/Microsoft-Dynamics-365-Business-Central-Logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"256\" \/>\n\t<meta property=\"og:image:height\" content=\"256\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ricardo Paiva Moinhos\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ricardo Paiva Moinhos\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/\"},\"author\":{\"name\":\"Ricardo Paiva Moinhos\",\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/#\\\/schema\\\/person\\\/16dcfdd54ec1c46bd1941659739de4cc\"},\"headline\":\"Migrating existing Update Service Server instance to a new server\",\"datePublished\":\"2025-05-15T14:22:51+00:00\",\"dateModified\":\"2025-05-16T12:29:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/\"},\"wordCount\":1560,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ricardomoinhos.com\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/Microsoft-Dynamics-365-Business-Central-Logo.png\",\"keywords\":[\"\",\"distributedsystem\",\"erp\",\"lscentral\",\"retail\",\"updateservice\"],\"articleSection\":[\"Dynamics NAV\\\/365 BC\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/\",\"url\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/\",\"name\":\"Migrating existing Update Service Server instance to a new server - Ricardo Paiva Moinhos\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/ricardomoinhos.com\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/Microsoft-Dynamics-365-Business-Central-Logo.png\",\"datePublished\":\"2025-05-15T14:22:51+00:00\",\"dateModified\":\"2025-05-16T12:29:54+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/#\\\/schema\\\/person\\\/16dcfdd54ec1c46bd1941659739de4cc\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#primaryimage\",\"url\":\"https:\\\/\\\/ricardomoinhos.com\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/Microsoft-Dynamics-365-Business-Central-Logo.png\",\"contentUrl\":\"https:\\\/\\\/ricardomoinhos.com\\\/wp-content\\\/uploads\\\/2020\\\/02\\\/Microsoft-Dynamics-365-Business-Central-Logo.png\",\"width\":256,\"height\":256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/migrating-existing-update-service-server-instance-to-a-new-server\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/ricardomoinhos.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Migrating existing Update Service Server instance to a new server\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/#website\",\"url\":\"https:\\\/\\\/ricardomoinhos.com\\\/\",\"name\":\"Ricardo Paiva Moinhos\",\"description\":\"Welcome\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/ricardomoinhos.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/ricardomoinhos.com\\\/#\\\/schema\\\/person\\\/16dcfdd54ec1c46bd1941659739de4cc\",\"name\":\"Ricardo Paiva Moinhos\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/248366f4e615e182964f85f799c6e33cbd541a6f4ca7ee948fc16d1c14030c76?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/248366f4e615e182964f85f799c6e33cbd541a6f4ca7ee948fc16d1c14030c76?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/248366f4e615e182964f85f799c6e33cbd541a6f4ca7ee948fc16d1c14030c76?s=96&d=mm&r=g\",\"caption\":\"Ricardo Paiva Moinhos\"},\"url\":\"https:\\\/\\\/ricardomoinhos.com\\\/pt\\\/author\\\/ricardopaiva\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Migrating existing Update Service Server instance to a new server - Ricardo Paiva Moinhos","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/","og_locale":"pt_PT","og_type":"article","og_title":"Migrating existing Update Service Server instance to a new server - Ricardo Paiva Moinhos","og_description":"Hi, Thanks for every partner attending ConneXion 2025 EMEA in Lisbon, last week. During the conference, I was asked twice by partners about migrating an existing Update Service Server instance to a new server. At the time, I didn\u2019t have an answer, but it was definitely something to follow up on and provide guidance to [&hellip;]","og_url":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/","og_site_name":"Ricardo Paiva Moinhos","article_published_time":"2025-05-15T14:22:51+00:00","article_modified_time":"2025-05-16T12:29:54+00:00","og_image":[{"width":256,"height":256,"url":"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2020\/02\/Microsoft-Dynamics-365-Business-Central-Logo.png","type":"image\/png"}],"author":"Ricardo Paiva Moinhos","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Ricardo Paiva Moinhos","Tempo estimado de leitura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#article","isPartOf":{"@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/"},"author":{"name":"Ricardo Paiva Moinhos","@id":"https:\/\/ricardomoinhos.com\/#\/schema\/person\/16dcfdd54ec1c46bd1941659739de4cc"},"headline":"Migrating existing Update Service Server instance to a new server","datePublished":"2025-05-15T14:22:51+00:00","dateModified":"2025-05-16T12:29:54+00:00","mainEntityOfPage":{"@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/"},"wordCount":1560,"commentCount":0,"image":{"@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#primaryimage"},"thumbnailUrl":"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2020\/02\/Microsoft-Dynamics-365-Business-Central-Logo.png","keywords":["","distributedsystem","erp","lscentral","retail","updateservice"],"articleSection":["Dynamics NAV\/365 BC"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/","url":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/","name":"Migrating existing Update Service Server instance to a new server - Ricardo Paiva Moinhos","isPartOf":{"@id":"https:\/\/ricardomoinhos.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#primaryimage"},"image":{"@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#primaryimage"},"thumbnailUrl":"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2020\/02\/Microsoft-Dynamics-365-Business-Central-Logo.png","datePublished":"2025-05-15T14:22:51+00:00","dateModified":"2025-05-16T12:29:54+00:00","author":{"@id":"https:\/\/ricardomoinhos.com\/#\/schema\/person\/16dcfdd54ec1c46bd1941659739de4cc"},"breadcrumb":{"@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#primaryimage","url":"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2020\/02\/Microsoft-Dynamics-365-Business-Central-Logo.png","contentUrl":"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2020\/02\/Microsoft-Dynamics-365-Business-Central-Logo.png","width":256,"height":256},{"@type":"BreadcrumbList","@id":"https:\/\/ricardomoinhos.com\/migrating-existing-update-service-server-instance-to-a-new-server\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ricardomoinhos.com\/"},{"@type":"ListItem","position":2,"name":"Migrating existing Update Service Server instance to a new server"}]},{"@type":"WebSite","@id":"https:\/\/ricardomoinhos.com\/#website","url":"https:\/\/ricardomoinhos.com\/","name":"Ricardo Paiva Moinhos","description":"Welcome","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ricardomoinhos.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/ricardomoinhos.com\/#\/schema\/person\/16dcfdd54ec1c46bd1941659739de4cc","name":"Ricardo Paiva Moinhos","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/248366f4e615e182964f85f799c6e33cbd541a6f4ca7ee948fc16d1c14030c76?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/248366f4e615e182964f85f799c6e33cbd541a6f4ca7ee948fc16d1c14030c76?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/248366f4e615e182964f85f799c6e33cbd541a6f4ca7ee948fc16d1c14030c76?s=96&d=mm&r=g","caption":"Ricardo Paiva Moinhos"},"url":"https:\/\/ricardomoinhos.com\/pt\/author\/ricardopaiva\/"}]}},"jetpack_featured_media_url":"https:\/\/ricardomoinhos.com\/wp-content\/uploads\/2020\/02\/Microsoft-Dynamics-365-Business-Central-Logo.png","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/posts\/12793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/comments?post=12793"}],"version-history":[{"count":31,"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/posts\/12793\/revisions"}],"predecessor-version":[{"id":12891,"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/posts\/12793\/revisions\/12891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/media\/1358"}],"wp:attachment":[{"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/media?parent=12793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/categories?post=12793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ricardomoinhos.com\/pt\/wp-json\/wp\/v2\/tags?post=12793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}