A new issue encountered yesterday when installing AOS, Client, Debugger and Management Utilities on a brand new (virtual) Windows Server 2012 Standard guest (Hyper-V):
Symptom:
The Installer kicks off as usual, but reports failure for Client, Debugger and Management Utilities (very unusual) and success for AOS (nothing was actually installed).
The Setup log contains the following relevant information:
2014-02-11 18:08:41Z Component installation task stopped due to an error.
2014-02-11 18:08:41Z *********************************************************************************
2014-02-11 18:08:41Z *********************************************************************************
2014-02-11 18:08:41Z The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. (Exception from HRESULT: 0x80070422)
2014-02-11 18:08:41Z *********************************************************************************
2014-02-11 18:08:41Z *********************************************************************************
2014-02-11 18:08:41Z System.Runtime.InteropServices.COMException (0x80070422): The service cannot be started, either because it is disabled or because it has no enabled devices associated with it. (Exception from HRESULT: 0x80070422)
2014-02-11 18:08:41Z at WUApiLib.UpdateServiceManagerClass.QueryServiceRegistration(String ServiceID)
2014-02-11 18:08:41Z at Microsoft.Dynamics.Setup.MuApiWrapper.IsMachineAlredyOptedIntoMU()
2014-02-11 18:08:41Z at Microsoft.Dynamics.Setup.Support.SetupQueue.MsiInstallationClass.SearchDownloadInstallMicrosoftUpdates(String executionName)
2014-02-11 18:08:41Z at Microsoft.Dynamics.Setup.Support.SetupQueue.AOSInstaller.PerformWork()
2014-02-11 18:08:41Z at Microsoft.Dynamics.Setup.Support.SetupQueue.InstallationClass.DoWork(Object sender, DoWorkEventArgs e)
2014-02-11 18:08:41Z at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
2014-02-11 18:08:41Z *********************************************************************************
2014-02-11 18:08:42Z S260FinishedInfo
2014-02-11 18:08:59Z === Setup was completed successfully.
2014-02-11 18:08:59Z === Setup logging ended: 2/11/2014 6:08:59 PM ErrorLevel/ExitCode: '0' ===
Root cause:
The Windows Update Service (Service Control Manager) was Disabled
Solution:
Alter the Windows Update Service from Disabled to Manual (triggered) or Automatic (I used the first alternative)
Additional information:
I did'nt select Use Windows Updates, but it seems like the installer ignores this and tries to start the Windows Update Service. If the Windows Update Service is Disabled, setup fails.
Wednesday, February 12, 2014
Sunday, February 9, 2014
AX Technical Conference 2014, brief summary
My ambition was to write a blog post for each day, but I decided to write a brief summary to highlight the key takeaways from the conference. I also think it’s important to respect the disclaimer given at the start of each session (not go into the details revealed).
AX 2012 R3 is mainly a functional release adding new functionality (Warehouse Management and Transportation) and improvements/extensions within existing industries like Retail. In addition, Life Cycle Services (LCS) was emphasized as the central HUB throughout the lifecycle of an AX solution bundling many of the individual services and tool sets (add-ons) in an Azure hosted environment. At least this is what Microsoft want customers and partners to adopt and utilize to manage a solution as a project including Project Management, Diagnostics and Configuration in addition to Issue Management and Servicing (when submitting an Issue, a repro solution will automatically be deployed in Azure reflecting the parameter settings from the running solution and Contoso data). The Deployment Tool for Azure was also presented making it possible to deploy an AX solution to Azure IaaS (Demo, Development, Test and Production) utilizing templates. The installer for AX 2012 R2 CU7 already revealed an integration to LCS when selecting the Advanced Update option utilizing the metadata to filter hotfixes related to a specific process. Mobile applications was also given much attention.
The key message was that R3 will be the foundation for the future and an unofficial indicator of the increase in functionality, was +20% compared to R2 measured in code size (Model Store Database). Another measure was that R3 included more new functionality than the complete AX 2009 application.
All in all a load of information to digest and try to adopt in customer deliveries. Microsoft talked a lot of Azure and the reason for describing R3 as the foundation for the future, was supported by some pieces of information around the next major AX release (AX7) code name “Rainier” (a monumental mountain south-east of Seattle WA). From what I understand, this will be a major architectural release cloud enabling AX (no surprise given the focus on Azure). Regarding Azure, I think Microsoft is paying much attention to the US market already covered by four Azure Data Centers (what about the rest of the world like Europe?) and not at least little information regarding the cost of utilizing Azure (some kind of subscription required).
All in all good value, but I personally think the name of the conference is misleading (AX Technical Conference) since it’s not very technical (one level 400 session, rest level 200 and 300) compared to the old Technical Briefings (Damgaard/Navision). A lot of sessions was designed for the Business roles (US Payroll, eProcurement, Demand Forecasting etc.) which I find hard to relate to the technical roles (Developers and Technical resources). The AX Conference would perhaps be a better name given the broad content presented. Maybe I’m the only one, but my expectation was deeper technical coverage. Some logistic challenges with full sessions was also a reality and I would recommend Microsoft either to decrease the number of attendants or book a venue with overcapacity. It’s a little disappointing to miss a session (I actually missed two sessions due to full rooms) when travelling from Norway, but I guess it’s difficult to predict the interest for each session when designing the room plan.
But I'm rest asured that the future will bring AX closer to the vision of Empowering People and that the community must work hard to adopt the constant changes (Dynamics).
My verdict is 5 out of 10 stars with the Q & A (Ask The Experts) as the most valuable sessions and a very good keynote on day two.
If the time allows, I will go a little deeper around my personal predictions around AX and Azure, and maybe also some follow up on specific sessions from #AXTech2014.
Update
Since R3 is a functional release, it probably makes sense that AXTech2014 focused most on the functional aspects of R3. But even this makes it hard to call it a Technical Conference in my oppinion - maybe next year will fullfill my expectations (AX7)...
AX 2012 R3 is mainly a functional release adding new functionality (Warehouse Management and Transportation) and improvements/extensions within existing industries like Retail. In addition, Life Cycle Services (LCS) was emphasized as the central HUB throughout the lifecycle of an AX solution bundling many of the individual services and tool sets (add-ons) in an Azure hosted environment. At least this is what Microsoft want customers and partners to adopt and utilize to manage a solution as a project including Project Management, Diagnostics and Configuration in addition to Issue Management and Servicing (when submitting an Issue, a repro solution will automatically be deployed in Azure reflecting the parameter settings from the running solution and Contoso data). The Deployment Tool for Azure was also presented making it possible to deploy an AX solution to Azure IaaS (Demo, Development, Test and Production) utilizing templates. The installer for AX 2012 R2 CU7 already revealed an integration to LCS when selecting the Advanced Update option utilizing the metadata to filter hotfixes related to a specific process. Mobile applications was also given much attention.
The key message was that R3 will be the foundation for the future and an unofficial indicator of the increase in functionality, was +20% compared to R2 measured in code size (Model Store Database). Another measure was that R3 included more new functionality than the complete AX 2009 application.
All in all a load of information to digest and try to adopt in customer deliveries. Microsoft talked a lot of Azure and the reason for describing R3 as the foundation for the future, was supported by some pieces of information around the next major AX release (AX7) code name “Rainier” (a monumental mountain south-east of Seattle WA). From what I understand, this will be a major architectural release cloud enabling AX (no surprise given the focus on Azure). Regarding Azure, I think Microsoft is paying much attention to the US market already covered by four Azure Data Centers (what about the rest of the world like Europe?) and not at least little information regarding the cost of utilizing Azure (some kind of subscription required).
All in all good value, but I personally think the name of the conference is misleading (AX Technical Conference) since it’s not very technical (one level 400 session, rest level 200 and 300) compared to the old Technical Briefings (Damgaard/Navision). A lot of sessions was designed for the Business roles (US Payroll, eProcurement, Demand Forecasting etc.) which I find hard to relate to the technical roles (Developers and Technical resources). The AX Conference would perhaps be a better name given the broad content presented. Maybe I’m the only one, but my expectation was deeper technical coverage. Some logistic challenges with full sessions was also a reality and I would recommend Microsoft either to decrease the number of attendants or book a venue with overcapacity. It’s a little disappointing to miss a session (I actually missed two sessions due to full rooms) when travelling from Norway, but I guess it’s difficult to predict the interest for each session when designing the room plan.
But I'm rest asured that the future will bring AX closer to the vision of Empowering People and that the community must work hard to adopt the constant changes (Dynamics).
My verdict is 5 out of 10 stars with the Q & A (Ask The Experts) as the most valuable sessions and a very good keynote on day two.
If the time allows, I will go a little deeper around my personal predictions around AX and Azure, and maybe also some follow up on specific sessions from #AXTech2014.
Update
Since R3 is a functional release, it probably makes sense that AXTech2014 focused most on the functional aspects of R3. But even this makes it hard to call it a Technical Conference in my oppinion - maybe next year will fullfill my expectations (AX7)...
Thursday, January 30, 2014
AX Technical Conference (#AXTech2014)
The Technical Conference is a major event in the AX Community and I'm scheduled to attend (thank you). It's been a while since I last attended a similar conference (I think it was Convergence in Copenhagen back in 2008) and after looking at the agenda and session catalogue, it seems to cover a lot of ground both from a functional and technical point of view.
The conference is called the AX Technical Conference, but it seems like Microsoft will cover the functional area. The focus is of cource AX 2012 R3 scheduled for RTM in Q2 2014 (CTP 4 right now). AX 2012 R3 seems to be a functional release incorporating the Warehouse and Transportation functionality bought from Blue Horseshoe (Industry focus) and improvements within the Retail area. In addition some technical news like the Deployment Tool for Azure. The latter is no supprise given the major focus on Azure which we also see in the Norwegian market (more in a later post togheter with some thoughts around the future).
So what do I expect? Well most of all this is a good opportunity to sit down and pay attention to the people closest to the product and an opportunity to interact with key resources. In addition I expect to go back to Norway next week with a better understanding of R3 and increased understanding of what we have ahead of us the next year. With the next major release of AX ("Rainier") beeing scheduled for release as soon as Q4 2014, I also expect some information related to this which probably will introduce some ground braking changes for the presentation layer in AX. All in all a good opportunity to slow down from the rather hectic daily schedule and fill up with valuable targeted and product specific information.
I'm not very into NFL, but I noticed that the Seattle Seahawks has reached the Super Bowl final and we will probably notice a little bit of interest around this event also...
I'm off to Seattle tomorrow (11 hour flight) and I will try to report the headlines from each day next week and give a final assesment based on my expectations when I return to Norway.
The conference is called the AX Technical Conference, but it seems like Microsoft will cover the functional area. The focus is of cource AX 2012 R3 scheduled for RTM in Q2 2014 (CTP 4 right now). AX 2012 R3 seems to be a functional release incorporating the Warehouse and Transportation functionality bought from Blue Horseshoe (Industry focus) and improvements within the Retail area. In addition some technical news like the Deployment Tool for Azure. The latter is no supprise given the major focus on Azure which we also see in the Norwegian market (more in a later post togheter with some thoughts around the future).
So what do I expect? Well most of all this is a good opportunity to sit down and pay attention to the people closest to the product and an opportunity to interact with key resources. In addition I expect to go back to Norway next week with a better understanding of R3 and increased understanding of what we have ahead of us the next year. With the next major release of AX ("Rainier") beeing scheduled for release as soon as Q4 2014, I also expect some information related to this which probably will introduce some ground braking changes for the presentation layer in AX. All in all a good opportunity to slow down from the rather hectic daily schedule and fill up with valuable targeted and product specific information.
I'm not very into NFL, but I noticed that the Seattle Seahawks has reached the Super Bowl final and we will probably notice a little bit of interest around this event also...
I'm off to Seattle tomorrow (11 hour flight) and I will try to report the headlines from each day next week and give a final assesment based on my expectations when I return to Norway.
Friday, January 17, 2014
AX 2012 - Unable to write the generated WCF configuration to local storage
I noticed the following entry logged in Event Log, Application on 3 EP/ES servers:
Unable to write the generated WCF configuration to local storage. The generated WCF configuration will be used from memory. The contents of the new configuration are written to the following temp file: C:\Users\i<BC Account> \AppData\Local\Temp\Microsoft.Dynamics.AX.Framework.Services.Client.Configuration.ClientConfigurationInternal.log.
Exception details:
System.ComponentModel.Win32Exception (0x80004005): Access is denied
at Microsoft.Dynamics.AX.Framework.Client.ConfigurationModel.NativeRegistry.OpenNativeRegistryKey(String keyPath, Boolean writable)
at Microsoft.Dynamics.AX.Framework.Client.ConfigurationModel.MachineWideRegistryConfigurationModel.GetConfigurationKey(Boolean writable)
at Microsoft.Dynamics.AX.Framework.Client.ConfigurationModel.RegistryConfigurationModel.WriteWcfConfiguration(String configuration, Guid versionId)
at Microsoft.Dynamics.AX.Framework.Services.Client.Configuration.ClientConfigurationInternal.GetClientConfiguration()
All servers configured to use local configurations stored in the registry.
Possible solution:
Apparently the Business Connector binary (assembly) has built in functionality to automatically refresh the WCF configuration part of the AX configuration requiring additional configuration steps to be performed.
Update:
This could also be caused by Group Policy (domain) settings applied after the AX Components were installed.
Unable to write the generated WCF configuration to local storage. The generated WCF configuration will be used from memory. The contents of the new configuration are written to the following temp file: C:\Users\i<BC Account> \AppData\Local\Temp\Microsoft.Dynamics.AX.Framework.Services.Client.Configuration.ClientConfigurationInternal.log.
Exception details:
System.ComponentModel.Win32Exception (0x80004005): Access is denied
at Microsoft.Dynamics.AX.Framework.Client.ConfigurationModel.NativeRegistry.OpenNativeRegistryKey(String keyPath, Boolean writable)
at Microsoft.Dynamics.AX.Framework.Client.ConfigurationModel.MachineWideRegistryConfigurationModel.GetConfigurationKey(Boolean writable)
at Microsoft.Dynamics.AX.Framework.Client.ConfigurationModel.RegistryConfigurationModel.WriteWcfConfiguration(String configuration, Guid versionId)
at Microsoft.Dynamics.AX.Framework.Services.Client.Configuration.ClientConfigurationInternal.GetClientConfiguration()
All servers configured to use local configurations stored in the registry.
Possible solution:
- Grant the AD Account used as the Business Connector Proxy Account, Full Control to the current configuration in the registry (remember HKEY_LOCAL_MACHINE - not HKEY_CURRENT_USER)
- Use the approach described in Install multiple Enterprise Portals on the same server [AX 2012] (TechNet) to use persistent (AXC-files) configuration files instead of local configurations stored in the registry
Apparently the Business Connector binary (assembly) has built in functionality to automatically refresh the WCF configuration part of the AX configuration requiring additional configuration steps to be performed.
Update:
This could also be caused by Group Policy (domain) settings applied after the AX Components were installed.
Tuesday, November 5, 2013
AX 2012 R2 - Minor issue (Startup Procedures SQL Server)
Most technical resources working with AX 2012 R2 are probably aware of the fact that AX deploys a Stored Procedure to the Master database to grant permissions to TempDb to the Service Account hosting tht AOS Service (instance). This is necessary since TempDb is created at startup, but be aware that the setup routine (AX AOS) adds one procedure for each AOS instance installed. Since these Stored Procedures are launched each time the SQL instance is started, it makes no sense to do this for each AOS instance. Let's say you have 10 AOS instances in Your environment utilizing the same Service Account. SQL Server will then execute the same statement 10 times during the startup sequence for the SQL Server instance. I discovered this by enabling Trace Flag 1204 and 1222 (records Dead Lock situations in the SQL Log).
Example (4 AOS instances, 1 on SQL Server used for full X++ compilation):
Stored Procedures created in the Master db:
Note that these Stored Procedures are identical if you use one Service Account for all AOS instances (would make sense to have one for each Service Account used).
Inside the Stored Procedure we find the following check:
if (@dbaccesscount <> 0)
The variable @dbaccesscount holds the number of logins matching the Service Account found in TempDb. And it then grants the required roles for the Service Account if @dbaccesscount is not equal to 0... In my mind the criteria should simply be if (@dbaccesscount = 0).
You have the possibility to either change the logic (breaks the support rule?) or you could do like me and disable all except one of them. By disable I mean ALTER the procedure from launching as a Startup Procedure by running sp_procoption.
Again remember that You should have one Startup Procedure for EACH Service Account used, but it's not required to execute the same grant statement more than ONCE for each Service Account used.
Finally - Why bother? I like to have the systems clean and as efficent as possible, and it's not worth spending extra CPU cycles especially in virtual environments.
So long
Example (4 AOS instances, 1 on SQL Server used for full X++ compilation):
Stored Procedures created in the Master db:
Note that these Stored Procedures are identical if you use one Service Account for all AOS instances (would make sense to have one for each Service Account used).
Inside the Stored Procedure we find the following check:
if (@dbaccesscount <> 0)
The variable @dbaccesscount holds the number of logins matching the Service Account found in TempDb. And it then grants the required roles for the Service Account if @dbaccesscount is not equal to 0... In my mind the criteria should simply be if (@dbaccesscount = 0).
You have the possibility to either change the logic (breaks the support rule?) or you could do like me and disable all except one of them. By disable I mean ALTER the procedure from launching as a Startup Procedure by running sp_procoption.
Again remember that You should have one Startup Procedure for EACH Service Account used, but it's not required to execute the same grant statement more than ONCE for each Service Account used.
Finally - Why bother? I like to have the systems clean and as efficent as possible, and it's not worth spending extra CPU cycles especially in virtual environments.
So long
Thursday, October 24, 2013
AX 2012 R2 CU6 Enterprise Portal deployment on SharePoint Enterprise 2013, episode x
I guess I was lucky when I managed to successfully install AX 2012 R2 CU6 EP on SharePoint 2013... After this, we concluded that the first issue was solved (rememeber the missing method in class SRSReportHelper?) and a co worker went to a customer to do the install. Guess what? It failed with a new error (I'll update this post with the details later)!
After a lengthy support process with Microsoft trying all sorts of clever tricks (tweaks), we recieved a couple of hotfixes (both application and binaries) that finally solved the issue. I don't exactly know if it was a combination of the tweaking and one/all hotfixes, but my co worker finally managed to successfully install EP in two separate installations. And right now it seems that we are experiencing yet another issue (a little bit early to conclude).
The reason for sharing this, is to warn about going to customers without testing the installation on the exact same software combinations as on the customer side and that you are prepared to discover new issues. This burns a lot of time (impossible to estimate the number of hours required) and it does not make a good impression at the customer side (trust me - they expect that we are experts, but that's almost impossible with the current maturity of EP on SharePoint 2013). I regret to say this, but Microsoft must put more effort into this combination and provide much more information on TechNet on how to successfully install EP on SharePoint 2013. The current information is outdated and references needed KB articles (hotfixes) that in fact are included in CU6, but NOT DOCUMENTED IN the release notes for CU6!
I'm tempted to recommend choosing SharePoint 2010 if possible until Microsoft makes installing EP on SharePoint 2013 to a more enjoyable ride and maybe also update the site template to SharePoint 2013 (is still 2010). Field testing the compability with SharePoint 2013 is NOT the way to do this since both partner and customers are suffering big time.
All issues we have discovered are related to site creation (EP deploys fine without site creation during installation, but as soons as you try to create the site either after deploying EP or as part of the installation, it fails).
I will update this post or post a follow up when I have the details.
Follow up (November 5th 2013):
It seems Microsoft was lucky this time - no hotfixes was required and my collegue managed to get EP installed on SharePoint 2013 together with Microsoft support. We used AX 2012 R2 CU6 with binary build 6.2.1000.3198 released in September. I don't have further details about the magic configuration change done, but it seemed to be related to a combination of an SharePoint Update changing something around the requirements for the Claims Service. I have to look into the support incident to get to the details and right now, I'm too busy to dig into this.
After a lengthy support process with Microsoft trying all sorts of clever tricks (tweaks), we recieved a couple of hotfixes (both application and binaries) that finally solved the issue. I don't exactly know if it was a combination of the tweaking and one/all hotfixes, but my co worker finally managed to successfully install EP in two separate installations. And right now it seems that we are experiencing yet another issue (a little bit early to conclude).
The reason for sharing this, is to warn about going to customers without testing the installation on the exact same software combinations as on the customer side and that you are prepared to discover new issues. This burns a lot of time (impossible to estimate the number of hours required) and it does not make a good impression at the customer side (trust me - they expect that we are experts, but that's almost impossible with the current maturity of EP on SharePoint 2013). I regret to say this, but Microsoft must put more effort into this combination and provide much more information on TechNet on how to successfully install EP on SharePoint 2013. The current information is outdated and references needed KB articles (hotfixes) that in fact are included in CU6, but NOT DOCUMENTED IN the release notes for CU6!
I'm tempted to recommend choosing SharePoint 2010 if possible until Microsoft makes installing EP on SharePoint 2013 to a more enjoyable ride and maybe also update the site template to SharePoint 2013 (is still 2010). Field testing the compability with SharePoint 2013 is NOT the way to do this since both partner and customers are suffering big time.
All issues we have discovered are related to site creation (EP deploys fine without site creation during installation, but as soons as you try to create the site either after deploying EP or as part of the installation, it fails).
I will update this post or post a follow up when I have the details.
Follow up (November 5th 2013):
It seems Microsoft was lucky this time - no hotfixes was required and my collegue managed to get EP installed on SharePoint 2013 together with Microsoft support. We used AX 2012 R2 CU6 with binary build 6.2.1000.3198 released in September. I don't have further details about the magic configuration change done, but it seemed to be related to a combination of an SharePoint Update changing something around the requirements for the Claims Service. I have to look into the support incident to get to the details and right now, I'm too busy to dig into this.
Tuesday, October 1, 2013
What makes a good Dynamics AX Project Manager?
Not a technical issue this time, but something important to every implementation project - the Project Manager role...
I stumbled accross this while reading Dilip's blog on Dynamics AX and I thought this was worth sharing as a side step to all the struggle with hotfixes in AX 2012 R2, Enterprise Portal/SharePoint 2013, Load Balancing Services etc. :-)
Links:
I stumbled accross this while reading Dilip's blog on Dynamics AX and I thought this was worth sharing as a side step to all the struggle with hotfixes in AX 2012 R2, Enterprise Portal/SharePoint 2013, Load Balancing Services etc. :-)
Links:
- The Cognitive Blog - What makes a good Dynamics AX Project Manager?
- Pwc Blogs - The challenges of implementing Microsoft Dynamics AX (pdf)
Subscribe to:
Posts (Atom)