Thursday, 19 November 2015

How to export license keys that are already loaded in your system

static void OutputLicenseToText(Args _args)
{
    #define.licenseVersion(2)
    #define.KeywordLen(20)
    #define.keywordLicense('License')
    #define.keywordProperties('Properties')
    #define.keywordCodes('Codes')
    #define.keywordCodeLine('CodeLine')
    #define.keywordDate('Date')
    #define.keywordSerial('Serial')
    #define.keywordValue('Value')
    #define.blank('')
    #define.space1(' ')
    #define.space2('  ')
    #define.space3('   ')
    #define.spaceHash(' #')
    #define.OutputFilename(@'C:\OutputLicenseKeys.txt')

    #define.keywordInfo(1)
    #define.keywordWarning(2)

    SysConfig           sysConfig;
    SysLicenseCodeSort  sysLicenseCodeSort;
    container           fileOut;
    int                 i;
    System.IO.StreamWriter  sw;
    InteropPermission perm = new InteropPermission(InteropKind::ClrInterop);
    ;

    fileOut += "LicenseVersion "    + strfmt("%1", #licenseVersion);
    fileOut += #blank;
    fileOut += #keywordLicense      + #spaceHash + xSysConfig::find(ConfigType::LicenseName,0).Value;
    fileOut += #blank;
    fileOut += #space1  + #keywordProperties;
    fileOut += #space2  + "Name"            + #spaceHash    + xSysConfig::find(ConfigType::LicenseName,0).Value;
    fileOut += #space2  + #keywordSerial    + #spaceHash    + xSysConfig::find(ConfigType::SerialNo,0).Value;
    fileOut += #space2  + #keywordDate      + #spaceHash    + xSysConfig::find(ConfigType::LicenseName,1).Value;
    fileOut += #space1  + "EndProperties";
    fileOut += #blank;
    fileOut += #space1  + #keywordCodes;

    // Build CodeLines
    while select sysConfig
        where sysConfig.configType  == ConfigType::AccessCodes   &&
              sysConfig.value       != #blank
        join sysLicenseCodeSort
        order by SortIdx
        where sysLicenseCodeSort.Id == sysConfig.id
    {
        fileOut += #space2  + #keywordCodeLine  + #spaceHash    + int2str(sysConfig.id + 1);
        fileOut += #space3  + #keywordValue     + #spaceHash    + sysConfig.value;
        fileOut += #space2  + "EndCodeLine";
        fileOut += #blank;
    }

    fileOut += #blank;
    fileOut += #space2  + "EndCodes";
    fileOut += #space1  + "EndLicense";

    // Begin file output
    perm.assert();

    sw = new System.IO.StreamWriter(#OutputFilename);

    for (i=1; i<=conLen(fileOut); i++)
    {
        sw.WriteLine(conPeek(fileOut, i));
    }

    sw.Flush();
    sw.Close();
    sw.Dispose();

    CodeAccessPermission::revertAssert();

    info("License successfully output to " + #OutputFilename);
}
 
Copied From http://www.alexondax.com/2011/01/how-to-export-license-keys-that-are.html
 

Sunday, 1 November 2015

Updating to AX 2012 R3 CU9 step by step with screen shots

1. Download from partner source or customer source.
  • AXUpdateInstaller
  • DynamicsAX2012R3-KB3063879-SlipStreamOnly
http://blogs.msdn.com/b/axsupport/archive/2014/06/04/10288907.aspx

2. Extract zip, then KB
3.Run Ax update in KB folder

4.
5.
6.
7.Follow below link
http://tech.alirazazaidi.com/dynamics-ax-2012-r3-cu9-update-step-by-step/

Put the system for application compilation and generate Full CIL and restart the AOS

8.Press ok
9.
 a. Run 'Detect update scripts'
 b. Before run Presynchronize setup  the server instance from System      administration-->setup-->system--> server configuration 
Select batch server group, as shown
10.Synchronize DataBase

11.Perform remaining tasks
Note:
                  Here only 'application version'will be updated to CU9 but not 'kernel version'. i.e., client needs to be updated. So run CU9 setup again and select "binary updates".
                  Before that  make sure uninstalled visual studio 2010 components and need to install Report viewer 2010