Revision History of the IdcardGen Program

IDCardGen - Copyright© 2000-2019.
New York State Department of Motor Vehicles


Product Version 1.2: May 01, 2019 (Minor Patch & ICC Code updates)

  • Updated ICC Codes
  • Field Edit [IDCardEDIT.dll version 03.01.12]
    - EDITSTREET() modified to allow '#' in Street address

Product Version 1.2: February 05, 2019 (ICC Code updates)

  • Updated ICC Codes

Product Version 1.2: June 29, 2018 (ICC Code updates)

  • Updated ICC Codes

Product Version 1.2: February 01, 2016 (Minor Patch & ICC Code updates)

  • Updated ICC Codes
  • Create e-mail attachment bug fixed. [InsuranceCardGen.exe version 03.01.66]
    • Fixed bug in InsuranceCardGen.exe where creating an e-mail attachment saves the .pdf as the policy number even if user changes the filename in the save dialog box.
    • Updated software download URL in "About" dialog to point to current IIES web page.
    • Removed link to download Internet Explorer.

Product Version 1.2: October 09, 2013 (ICC Code updates)

  • Updated ICC Codes

Product Version 1.2: March 14, 2012 (Minor Patch & ICC Code updates)

  • Updated ICC Codes
  • Field Edit [IDCardEDIT.dll version 03.01.11]
    • EDITVEHICLEYEAR modified to allow vehicle years of 1850 and later.

Product Version 1.2: December 24, 2010 (Minor Patch & ICC Code updates)

  • Updated ICC Codes
  • ID Card retrieve bug fix. [IICBatchProc.dll version 03.03.02]
    • Fixed bug in IICBatchProc.dll that would cause an edit error when loading a saved ID Card .xml file that had a numeric character in the suffix field, such as "2ND".
    • This would only happen when loading a card from the user Interface. The batch processing feature was already allowing numeric characters in this field.

Product Version 1.2: February 16, 2010 (No program changes)

  • Changed install package from Install Shield 5.0 to WISE Installer 7.0 to correct some installation
    issues that have come up recently with newer operating systems.
  • Updated ICC Codes

Product Version 1.2: January 26th, 2009 (No program changes)

  • Updated ICC Codes

Product Version 1.2: September 15, 2008 (Minor Patch & ICC Code updates)

  • When creating an e-mail attachment, the temporary image file will now be stored in the same folder as the target .PDF attachment as opposed to the application's working directory. This previously caused an error if the user's application folder had read-only access.
  • Fixed a bug in the GUI where an error message was not being returned if an Issuer ID and Key pair were entered but the application was unable to write to the settings file, usually due to the user not having the proper write permission.
  • Corrected a bug that produced an endless loop in the GUI when switching tabs.
  • Field Edit [IDCardEDIT.dll version 03.01.10]
    • MakeNameAsOne() method was modified to correct a rare situation where two middle names are entered separated by a comma and weren't being converted to the AAMVA "@" name component delimiter inside the 2D barcode.
  • Updated ICC Codes

Product Version 1.2: October 4th, 2007 (Minor Patch)

  • GUI Bug fix [InsuranceCardGen.exe version 03.01.51]

    Modified Options|Setup|Defaults Default ICC Code dropdown to include a blank item. This fixes a bug where once you select a default ICC code you couldn't subsequently set it back to an empty code.

Product Version 1.2: August 10th, 2007 (No program changes)

  • Updated ICC Codes

Product Version 1.2: November 24, 2006 (Minor Patch)

  • Lower bound edit check for vehicle year has been changed to 1890 to allow historical vehicles of that age. [IDCardEdit.dll version 03.01.09]
  • Updated ICC Codes

Product Version 1.2: May 3rd, 2006 (Minor enhancement & ICC Code updates)

  • Updated ICC Codes
  • Enhancement [IICBatchProc.dll version 03.03.01] A change was made to force processing of an XML file if /b parameter is specified along with an XML file name in command mode. The previous behavior was to display the batch dialog and force the user to manually select the file which didn't seem appropriate if the filename was already specified in the command line parameters.

Product Version 1.2: December 5th, 2005 (No program changes)

  • Updated ICC Codes

Product Version 1.2: July 6th, 2005 (Minor Patch)

  • Updated ICC Codes
  • Added "Delete Issuer" button to Key Maintenance screen.
    [InsuranceCardGen.exe version 03.01.50]
  • Batch Processing bug fixes. [IICBatchProc.dll version 03.03.00]
    • Message box would pop up on PDF image failure during batch processing using non-interactive mode causing application to hang. These messages will now be displayed in the log file instead.
    • Temporary image files used during the .PDF creation process will now be stored in the same directory as the specified target .PDF file. This was changed because of potential file permission problems that may occur when batch processing feature of SDK is being used under IIS.

Product Version 1.2: October 18, 2004 (Minor Patch)

  • Updated ICC Codes
  • GUI Bug fix [InsuranceCardGen.exe version 03.01.41]
  • When using the /a or /b (batch) command line switches on a PC using large font mode, the large font mode warning message would appear which would prevent automatic processing. This message has been removed per user request.

Product Version 1.2: June 18, 2004 (No program changes)

  • Updated ICC Codes

Product Version 1.2: April 22, 2004 (No program changes)

  • Updated ICC Codes

Product Version 1.2: March 24, 2004 (Minor patch)

  • Issuer ID field on logon screen was expanded to 10 positions to allow for expanded Insurance License numbers [InsuranceCardGen.exe version 03.01.40]
  • Edit check for Issuer ID field was modified to allow 10 positions [IDCardEdit.dll version 03.01.08]
  • Updated ICC Codes

Product Version 1.2: August 4, 2003 (No program changes)

  • Updated ICC Codes

Product Version 1.2: December 17, 2002 (Minor Patch)

  • Updated ICC Codes
  • Improved Help File
    • Help and FAQ File were combined and converted to HTML Help.
    • - Now includes an index and search capability.
  • GUI Bug fix [InsuranceCardGen.exe version 03.01.39]
    • When leaving the ICC Combo box before completing the entry an ICC code an infinite looping error would occur.
  • Batch Processing enhancements. [IICBatchProc.dll version 03.01.31]
    • .PDF File attachment generation is now possible in batch mode.
    • ID Card E-Mailing is now supported using integrated SMTP engine. (See Help file for usage)
  • Field Edit [IDCardEDIT.dll version 03.01.07]
    • EDITMIDNAME() was modified to allow a "/" char in the middle name/init field. This is necessary for the entry of "/LSE" after the registrant name if the registrant is a Lessee and their middle initial appears on the vehicle registration.

Product Version 1.2: April 17, 2002 (Minor Patch)

  • Updated GUI
    • Bug with the Vehicle Year combo box was fixed. When choosing a desktop theme with "Large Font" mode enabled user was sometimes only able to enter 3 characters instead of 4.
    • Bug was fixed that occurred when saving a policy with 100 vehicles. The end of the XML file would become corrupt due to a buffer overflow.

Product Version 1.2: March 19, 2002 (Minor Patch)

  • Batch Processing bug fix
    IICBatchPROCEx3() was modified to allow the passing of X & Y offsets for print margin adjustment in batch mode.

Product Version 1.2: February 22, 2002. (Minor Patch)

  • GUI Change
    • ICC Drop down list was widened and scrollable.
    • ICC Codes updated and names were abbreviated.
  • Field Edit
    • Bug was fixed in NameAsOne() function. Hyphen was being removed too early.

Product Version 1.2: January 7, 2002 (Significant changes)

  • Changes to InsuranceInfo struct:
    • IPolicyNumber field size was expanded from [15+1] to [30+1]
    • IAgencyAddressLine3 was added to InsuranceInfo structure
    • IAgencyAdditionalLine was added to InsuranceInfo structure
    • RZipCode size was corrected (changed from 9+1 to 5+1)
  • Changes to InsuranceAAMVAstruct:
    • subIPolicyNumberfield size was expanded from [15] to [30]


*** Note: If you are currently using the 1.1 modules and wish to use the 1.2 modules you MUST change the size of this field in your two structures or else you will have misalignment when calling all of the IDCardGen modules. (See InsAAMVA.h for the latest struct layout)

  • Changes to GenerateIDCard.dll:
    • When printing a card with a special non vehicle specific code (AOV,AON,DGP,ALP) the 12:01 a.m. label was not being printed under the dates. This has been fixed.
    • Agency Name and address fields will now clip before overwriting effective dates if too long.
  • Changes to GenInsAAMVA.dll:
    • Subfile offset numbers were corrected.
  • Changes to GenInsPDF.dll:
    • The format parameter of the GENINSPDF() function call is now functional. This parameter changes the output filter. The default is still a DIB. Here are the available values:

      Value Outputfilter used
      0         PDFOutputAsDIBFile();
      1         PDFOutputAsDIBFile();
      2         PDFOutputAsEPS();
      3         PDFOutputAsEPSI();
      4         PDFOutputAsCodewords();
      5         PDFOutputAsPatterns();
      6         PDFOutputAsDIB();
      7         PDFOutputAsWMF();
      8         PDFOutputAsTIFF();
      9         PDFOutputAsPCX();
      10       PDFOutputAsPCL();
      11       PDFOutputAsPCL5();
      12       PDFOutputAsEpson9();
      13       PDFOutputAsEpson24();
  • Changes to IDCardEDIT.dll:
    • EDITNAME() now accepts ‘@’ characters so you don’t have to convert just to test validity.
    • EDITNAME() now accepts ‘/’ character for miscellaneous name titles.
    • EditSingleName() now accepts ‘.’ Or ‘,’ for ‘Saints’ or people with multiple middle names.
    • IDCARDSECONDEDIT() now requires the population of RClientId1 (and RClientId2 if second registrant info is detected) If client ID is not known you should pass all zeros.
    • EDITPOLICY() now allows "#" and " " characters.
  • Changes to IICBatchProc:
    (This is a new module which provides loading/saving and batch processing functionality using the XML standard. Please see latest programmer’s guide for usage)
  • Changes to InsuranceCardGen.exe:
    • Policy number field on insurance tab was expanded to 30 chars
    • Password field in logon dialog echoes ‘*’
    • Year field on Vehicle tab has been changed to a drop down combo box which contains the special vehicle codes and also disables vehicle fields when selected.
    • Print All Cards’ menu item was added allowing user to print all 100 cards at once if needed.
    • Create All Email Attachments’ menu item was added allowing user to create an email attachments for all 100 cards at once if needed.
    • Load/Save menu items were added for storing and retrieving policies.
    • Batch processing menu item was added allowing an existing agency management system to export many policies to be imported in to the IDCardGen application for batch processing of ID Cards.
    • Several minor GUI related bugs were fixed.
    • Command line batch processing or automatic loading of XML input files. (See Prog. Guide)

Product Version 1.1: January 16, 2001 (Significant changes)

  • Changes to GenerateIDCard.dll:
    • New export function:
      extern "C" BOOL __stdcall GENERATEIDCARDEX(unsigned char*
      pBarcode,struct InsuranceInfo*
      const pInsuranceInfo,HDC hdcPrn,long PDFSize,int scale)

      GENERATEIDCARDEX differs from GENERATEIDCARD by not forcing you to set the mapping mode of the Device Context prior to calling- it will do it automatically inside the function.

    • FS-75’s can now only be printed on Generic Stock.
    • State and zip will now be formatted to print right after city instead of being in a fixed position every time. (Caused problems with long city names)
    • * TOW TRUCK * notation was added when a ‘Y’ is passed in the new tow truck indicator field.
    • Various document print layout changes and bugs fixes.
  • Changes to GenInsAAMVA.dll:
    • Record separator is now using hex 1c instead of 09 to match AAMVA documentation. Record separator wasn’t needed in our fixed structure, but may be used if a variable length data structure were used instead.
    • The element identifiers VAL and VAK were reversed to match Vehicle Year and Make in documentation
    • SubSNYbarcode was added to the barcode to help DMV better differentiate barcodes for future use. Will not cause a rejection but is asked that you include in your barcode.You do not have to populate this field prior to calling this module, it will automatically place the value “IC200010” in it denoting October 2000, the date we last modified the barcode layout.
    • Fixed length barcode struct is now 570 bytes long. (see further on in doc)
    • Various bug fixes
  • Changes to GenInsPDF.dll:
    • Adjusted aspect ratio of barcode bitmap to provide better scan ability when stretching or shrinking 2d barcode.
  • Changes to IDCardEDIT.dll:
    • Changed middle name edit to allow a ‘,’ in the second position for people with two middle names
    • Added leap year check for dates.
    • Adjusted Issuer ID edit to require length between 3 and 9 chars. IssuerID definition will remain at 10 in case State Insurance Departments needs to use 10 chars in the future.
    • Various edit and secondary edit bug fixes.
  • Changes to InsuranceCardGen.exe:
    • Many GUI layout changes
    • Added new Render Image to Device option to fix printing problems on older printers
    • Now forces correct Issuer ID and Key pair when entering new key. This will prevent a many key problems from ever reaching DMV offices.
    • Added PDF email attachment.
    • Splash screen added
    • Added Tow truck indicator
    • Expanded middle initial (1 char) to middle name (16 chars)
    • Added more specific error messages when unable to log in.
    • Fixed bug where installing on to a mapped drive, app does not recognize ini file path causing an invalid login.
    • Added bypass FH expiration date check.
    • Fixed various smaller bugs

Product Version 1.0: October 6, 2000

  • Initial release.