Thursday, December 18, 2008

Failed to create COM objects on AX 4 AOS

You may come across this issue when attempt to initialize a COM object on AX 4 AOS server side: 
 
static server void ActivateCOMOnAOS()
{
    #define.Word('Word.Application')
    COM com;
    InteropPermission permission = new InteropPermission(InteropKind::ComInterop);
    ;
 
    permission.assert();
    //BP deviation documented
    com = new COM(#Word);
    CodeAccessPermission::revertAssert();
}
And an error message will appear:
COM object of class 'Word.Application' could not be created. Ensure that the object has been properly registered on computer 'ComputerName'.
 
It is because by default, Microsoft Word as a COM object can not be launched by the user NT AUTHORITY\NETWORK SERVICE.  
 
The way to resolve this issue is to modify the Activation permission for Word Application using the Component Services administrative tool.
 
Configure DCOM (Windows 2003)
Start -> All programs -> Administrative Tools -> Component Services. 
Expand Component Services
Expand Computers 
Expand My Computer
Select the DCOM Config item 
Select the Microsoft Word Document item. 
Right click and select Properties 
Under Launch and Activation Permissions select the Customize option.
Click the Edit button
Click the Add button to add a new account to the list.
Click the OK button 
On the dialog that is displayed enter Network Service as the account name.
Grant Network Service the launch and activate permission.

No comments:

How to identify the user that was used to change an object from AOT in AX2012

Get the object name for which we need to track these (user and date&time) information's. Login to SQL Server Management Studio an...