The following is a journal of my installation of the AX2009 product. 

Some basic environmental information:

Database (2 servers clustered)

Windows Server Enterprise x64
Microsoft SQL Server 2008 x64
Clustered on a DELL MD3000i SAS Disk Array

AOS (2 servers)

Windows Server Standard 2008 x64

Report Server

Windows Server Standard 2008 x86

SharePoint Server (WSS 3.0 SP1)

Windows Server Standard 2008 x86


First, before installing anything beyond the Application Files you must install Dynamics AX 2009 SP1.  Also make sure you have installed ALL the Server 2008 hotfixes for cluster server and all updates from windows update. 

For SQL Server 2008 x64 on a cluster you must slipstream SQL Server 2008 Cumulative Update into the setup BEFORE you instal SQL Server 2008 or it will fail to add a cluster node.  (SKU Violation)

*** ALSO, You must request the KB 957312 hotfix from Microsoft to patch your Dynamics AX 2009 installation files.  Without this hotfix your setup will fail and complain that SQL Server 2005 is not already installed.

Also install the ADOMD.NET objects from: here.  * NOTE * the AX 2009 installer will incorrectly attempt to install the SQL Server 2005 ADOMD.NET objects.  IMHO you should be installing the SQL 2008 version of the software but I believe you need to install the 2005 ADOMD just to satisfy the installer.
http://www.microsoft.com/downloads/details.aspx?FamilyID=228de03f-3b5a-428a-923f-58a033d316e1&displaylang=en

 


 

When installing reporting extensions on Server 2008 with SQL Server 2008 you must follow the directions here:

https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;957312

This KB article tells you how to patch the AX 2009 RTM installer which lets you get Reporting Extensions installed on the machine with SSRS 2008.  But before you can deploy the reports you must finish the patching/hotfixing steps in the article.  ** Note that you need to manually install SQL SERVER 2008 ADOMD.NET because the RTM installer does not do this for you:
http://www.microsoft.com/downloads/details.aspx?FamilyID=228de03f-3b5a-428a-923f-58a033d316e1&displaylang=en

 


 

Error during Dynamics AX Reports deployment / Installation:

reporting services not configured

Possibility #1:

“Unable to modify the security policy file: …\Reporting Services\ReportServer\rssrvpolicy.config”

This error occurs when you fail to configure the Report Server.  Navigate to Start | All Programs | Microsoft SQL Server 2008 |  Configuration Tools | Reporting Services Configuration Manager.

Configure the reporting server.  Try again.

Possibility #2:  You need to uninstall and reinstall the AX Reporting Extensions.  This rssrvpolicy.config file is modified by the AX installer.  If the changes are not there it gives this bogus error instead of something meaningful.

 


References:

 

SSRS and SSQS Integration for Microsoft Dynamics AX 2009

https://mbs.microsoft.com/Cms/Templates/document/General.aspx?NRMODE=Published&NRNODEGUID={BC9C47BD-A3AA-4206-8776-07D566F75BB8}&NRORIGINALURL=/customersource/documentation/howtodocuments/ax2009_ssrs_ssas_integration.htm?printpage=false&NRCACHEHINT=Guest&printpage=false&wa=wsignin1.0

How to install Microsoft Dynamics AX 2009 with SQL Server 2008 and the .NET Framework 3.5 Service Pack 1

https://mbs.microsoft.com/knowledgebase/KBDisplay.aspx?scid=kb;en-us;957312

 


 

Report Deployment to SQL Server Reporting Services 2008

Fails with:

One or more libraries built with warnings. Please see MSBuild log at C:\Users\dsandor\AppData\Local\Temp\2\tmp4739.tmp
Deploying 1 data source(s) and 154 design(s) in 42 culture(s) (6469 item(s) total)...
Deployment failed unexpectedly with the message:
System.Web.Services.Protocols.SoapException: The report definition is not valid.  Details: Deserialization failed: Object reference not set to an instance of an object. Line 489, position 26.
   at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)
   at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)
See the log file for further details.
The deployment log file can be found at "C:\Users\dsandor\AppData\Local\Temp\2\tmp57E4.txt"

The log file looks like this:

The report 'BankSRS.BankaccountReconciliation.AutoDesign', culture 'English (Australia)' has been deployed.
The report 'BankSRS.BankaccountReconciliation.AutoDesign', culture 'German (Austria)' has been deployed.
Error: Deployment failed unexpectedly with the message:
System.Web.Services.Protocols.SoapException: The report definition is not valid.  Details: Deserialization failed: Object reference not set to an instance of an object. Line 489, position 26.
   at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)
   at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)
See the log file for further details.
Deployment failed with the following exception:
System.Web.Services.Protocols.SoapException: System.Web.Services.Protocols.SoapException: The report definition is not valid.  Details: Deserialization failed: Object reference not set to an instance of an object. Line 489, position 26.
   at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)
   at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties, Warning[]& Warnings)

Server stack trace:
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.Dynamics.Framework.Deployment.Reports.ReportingService2005.ReportingService2005.CreateReport(String Report, String Parent, Boolean Overwrite, Byte[] Definition, Property[] Properties)
   at Microsoft.Dynamics.Framework.Deployment.Reports.ReportLibraryDeployer.PublishDesign(ReportDesignDefinition design, CultureInfo culture, IReportingService2005 srs, DeploymentLogger logger, Byte[] bytes, Action updateProgress)
   at Microsoft.Dynamics.Framework.Deployment.Reports.ReportLibraryDeployer.<>c__DisplayClass4b.<>c__DisplayClass4d.<DeployModelElements>b__38()
   at Microsoft.Dynamics.Framework.Deployment.Reports.AsyncDispatcher.<>c__DisplayClass1.<BeginInvoke>b__0()
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
   at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
   at System.Action.EndInvoke(IAsyncResult result)
   at Microsoft.Dynamics.Framework.Deployment.Reports.AsyncDispatcher.EndInvokeThoseThatAreReady()
   at Microsoft.Dynamics.Framework.Deployment.Reports.AsyncDispatcher.BeginInvoke(Action op)
   at Microsoft.Dynamics.Framework.Deployment.Reports.ReportLibraryDeployer.<>c__DisplayClass4b.<DeployModelElements>b__37(<>f__AnonymousTypea`3 design)
   at Microsoft.Dynamics.Framework.Reports.Enumerable.Iterate[T](IEnumerable`1 source, Action`1 action)
   at Microsoft.Dynamics.Framework.Deployment.Reports.ReportLibraryDeployer.DeployModelElements(IEnumerable`1 reportTuples, IEnumerable`1 cultures, Func`2 connectionStringModifier, Func`1 getSrs, DeploymentLogger logger)
   at Microsoft.Dynamics.Framework.Deployment.Reports.ReportLibraryDeployer.Deploy(IEnumerable`1 reportLibrariesToDeploy, IEnumerable`1 transitiveReferenceClosure, IEnumerable`1 cultures, DeploymentLogger logger, Func`2 connectionStringModifier)

 

-EDIT-

To fix this last error with the SoapException on SSRS 2008:

* Install the AX 2009 SP on the SSRS machine.
* Verify the SSRS service is configured (has a URL, Database, ect).
* Redeploy the SSRS reports from AX.
* My SSRS 2008 was so hosed up I needed to uninstall AX reporting components, Reinstall AX RC, Service Pack AX RC, then deploy the reports.

-EDIT 2-

Some additional notes on SSAS 2008 installation (You will need these if you are installing Enterprise Portal):

http://davidsandor.com/blogs/tipsandtricks/archive/2009/05/05/dynamics-ax-2009-cubes-deployed-to-ssas-2008-removing-unlicensed-elements-from-the-cubes-so-that-they-will-process.aspx

http://davidsandor.com/blogs/tipsandtricks/archive/2009/05/05/dynamics-ax-2009-cube-deployments-to-ssas-2008-on-a-clustered-sql-2008-on-windows-clustering-failover-server-2008.aspx