You can deploy files, register assemblies, and pretty much deploy anything down to the client in Microsoft Dynamics Axapta 2009 using the SysFileDeploymentFile, SysFileDeploymentDLL, and adding them to the SysFileDeployer.filesToDeploy class.
I needed to deploy and register an Axapta assembly that contained a WCF Service Proxy along with the app.config.
Here is the class to deploy and register the assembly:
1: class SysFileDeployment_PortalWCFService extends SysFileDeploymentDLL
2: {
3: #Define.regasmCommand(@'c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe')
4: }
5:
6: public Filename filename()
7: {
8: return 'Portal.WCFService.dll';
9: }
10:
11: protected void register(boolean atReboot)
12: {
13: ;
14: WinAPI::setCurrentDirectory(this.destinationPath());
15: //TODO Check regasm executable exists on client?
16: WinAPI::shellExecute(#regasmCommand, strfmt('"%1" %2', this.destinationPath()+this.filename(),'/codebase'));
17: }
18:
19: protected void unRegister()
20: {
21: ;
22: WinAPI::setCurrentDirectory(this.destinationPath());
23: //TODO Check regasm executable exists on client?
24: WinAPI::shellExecute(#regasmCommand, this.destinationPath()+this.filename()+' /unregister');
25: }
Here is the class to deploy the app.config:
1: class SysFileDeployment_DevAppConfig extends SysFileDeploymentFile
2: {
3: }
4:
5: protected FilenameSave destinationPath()
6: {
7: return xInfo::directory(DirectoryType::Include);
8: }
9:
10: public Filename filename()
11: {
12: return 'app.config';
13: }
14:
15: protected FilenameOpen sourcePath()
16: {
17: return xInfo::directory(DirectoryType::Include);
18: }
And finally the changes to the SysFileDeployer:
1: private static container filesToDeploy()
2: {
3: //return connull();
4:
5: /*
6: return [classNum(class1), classNum(class2), ... ]
7: */
8: return [classnum(SysFileDeployment_DevAccountService), classnum(SysFileDeployment_DevAppConfig)];
9: }
You need to copy these files to your AOS Server(s). In this case I placed them in the Include directory located @c:\Program Files (x86)\Microsoft Dynamics AX\50\Client\Share\Include.
Finally, you need to delete all the usage data for the SysFileDeployer on all the client machines.

The next time you run the client you get this message:

Enjoy..
Big thanks to Greg @ http://gregondax.wordpress.com/2009/07/23/spell-check-text-box-example-of-a-wpf-control-in-ax/
5acc61e9-e794-4cf9-9d44-0b9741339e73|1|5.0
Microsoft Axapta 2009