Hotfix information
A supported hotfix is available from Microsoft. There is a "Hotfix download available" section at the top of this Knowledge Base article. If you are encountering an issue downloading, installing this hotfix, or have other technical support questions, contact your partner or, if enrolled in a support plan directly with Microsoft, you can contact technical support for Microsoft Dynamics and create a new support request. To do this, visit the following Microsoft website: You can also contact technical support for Microsoft Dynamics by phone using these links for country specific phone numbers. To do this, visit one of the following Microsoft websites:
PartnersCustomersIn special cases, charges that are ordinarily incurred for support calls may be canceled if a Technical Support Professional for Microsoft Dynamics and related products determines that a specific update will resolve your problem. The usual support costs will apply to any additional support questions and issues that do not qualify for the specific update in question.After you apply this hotfix, the exception does not cause an unexpected crash. In this situation, a handled error message is written to the Application log instead.
How to obtain the Microsoft Dynamics NAV hotfix or update files
After you request a Microsoft Dynamics NAV hotfix, a hyperlink will be sent to you in an e-mail.
The e-mail will contain a hyperlink and a password. You can use the hyperlink to download the Microsoft Dynamics NAV hotfix or the update files. When you click the hyperlink, the
File Download – Security Warning dialog box opens. Then, you are prompted to run, to save, or to cancel the download.
If you click
Run, the files start the download and the extraction process. You must specify a folder for the new files, and then provide the password.
If you click
Save, you must specify a path for saving the compressed file. When you open the file that you saved, you are prompted to specify a path for the files. Then, you must provide the password provided in the e-mail.
If you click
Cancel, the download process stops.
How to install a Microsoft Dynamics NAV hotfix or an update file
The Microsoft Dynamics NAV platform hotfixes and updates are made available as single files. To install a Microsoft Dynamics NAV hotfix or an update, you must replace the existing Microsoft Dynamics NAV installation files with the hotfix or the update files.
File Information
The global version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.File name | File version | File size | Date | Time | Platform |
---|
Microsoft.navision.mail.dll | 7.3.0.0 | 26,480 | 20-Jan-2011 | 16:31 | x86 |
Microsoft.navision.mail.tlb | Not applicable | 3,648 | 20-Jan-2011 | 09:42 | Not applicable |
Note This hotfix works for signed certificates. If the certificate is self-signed, you must manually sign the certifcate and install this hotfix as trusted.
To do this, follow these steps:
- Copy the files that you extracted from the hotfix files to the following folder:
%ProgramFiles%\Common Files\Microsoft Dynamics NAV\Mail - Register the new Microsoft.Navision.Mail.dll assembly through the Assembly Registration tool (Regasm.exe) by using the following command:
regasm /codebase /tlb:Microsoft.Navision.Mail.tlb Microsoft.Navision.Mail.dll
For example, you can make sure that the Regasm.exe file is in the Mail folder mentioned in step 1, open the command prompt, change the directory to "C:\Program Files (x86)\Common Files\Microsoft Dynamics NAV\Mail", and then run the following command to register the Microsoft.Navision.Mail.dll assembly:
RegAsm.exe /codebase /tlb:Microsoft.Navision.Mail.tlb Microsoft.Navision.Mail.dll - Change the code in the SMTP Mail Setup table (409) as follows:
Existing code...
FIELDS
{
{ 1 ; ;Primary Key ;Code10 ;CaptionML=ENU=Primary Key }
{ 2 ; ;SMTP Server ;Text250 ;CaptionML=ENU=SMTP Server }
{ 3 ; ;Authentication ;Option ;OnValidate=BEGIN
IF Authentication <> Authentication::Basic THEN BEGIN
"User ID" := '';
Password := '';
END;
END;
CaptionML=ENU=Authentication;
OptionCaptionML=ENU=Anonymous,NTLM,Basic;
OptionString=Anonymous,NTLM,Basic }
{ 4 ; ;User ID ;Text30 ;OnValidate=BEGIN
TESTFIELD(Authentication,Authentication::Basic);
END;
CaptionML=ENU=User ID }
{ 5 ; ;Password ;Text30 ;OnValidate=BEGIN
TESTFIELD(Authentication,Authentication::Basic);
END;
CaptionML=ENU=Password }
}
...
Replacement code...
FIELDS
{
{ 1 ; ;Primary Key ;Code10 ;CaptionML=ENU=Primary Key }
{ 2 ; ;SMTP Server ;Text250 ;CaptionML=ENU=SMTP Server }
{ 3 ; ;Authentication ;Option ;OnValidate=BEGIN
IF Authentication <> Authentication::Basic THEN BEGIN
"User ID" := '';
Password := '';
END;
END;
CaptionML=ENU=Authentication;
OptionCaptionML=ENU=Anonymous,NTLM,Basic;
OptionString=Anonymous,NTLM,Basic }
{ 4 ; ;User ID ;Text30 ;OnValidate=BEGIN
TESTFIELD(Authentication,Authentication::Basic);
END;
CaptionML=ENU=User ID }
{ 5 ; ;Password ;Text30 ;OnValidate=BEGIN
TESTFIELD(Authentication,Authentication::Basic);
END;
CaptionML=ENU=Password }
// Add the following lines.
{ 50000; ;SMTP Server Port ;Integer ;InitValue=25 }
{ 50001; ;Secure Connection ;Boolean ;InitValue=No }
// End of the lines.
}
...
- Change the code in the SMTP Mail Setup form (409) as follows:
Existing code 1...
OnOpenForm=BEGIN
RESET;
IF NOT GET THEN
INSERT;
CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
END;
...
Replacement code 1...
OnOpenForm=BEGIN
RESET;
IF NOT GET THEN
BEGIN
// Add the following line.
INIT;
INSERT;
// Add the following line.
END;
CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
END;
...
Existing code 2...
CONTROLS
{
{ 1 ;TabControl ;220 ;220 ;9350 ;5280 ;HorzGlue=Both;
VertGlue=Both;
PageNamesML=ENU=General }
{ 2 ;TextBox ;3850 ;990 ;5500 ;440 ;ParentControl=1;
InPage=0;
SourceExpr="SMTP Server" }
{ 3 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=2 }
{ 6 ;TextBox ;3850 ;2090 ;5500 ;440 ;ParentControl=1;
InPage=0;
SourceExpr="User ID" }
{ 7 ;Label ;440 ;2090 ;3300 ;440 ;ParentControl=6 }
{ 8 ;TextBox ;3850 ;2640 ;5500 ;440 ;ParentControl=1;
InPage=0;
PasswordText=Yes;
SourceExpr=Password }
{ 9 ;Label ;440 ;2640 ;3300 ;440 ;ParentControl=8 }
{ 4 ;TextBox ;3850 ;1540 ;2750 ;440 ;ParentControl=1;
InPage=0;
SourceExpr=Authentication;
OnAfterValidate=BEGIN
CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
END;
}
{ 5 ;Label ;440 ;1540 ;3300 ;440 ;ParentControl=4 }
{ 10 ;CommandButton;7370 ;5720 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
PushAction=FormHelp }
}
...
Replacement code 2...
CONTROLS
{
{ 1 ;TabControl ;220 ;220 ;9350 ;5280 ;HorzGlue=Both;
VertGlue=Both;
PageNamesML=ENU=General }
{ 2 ;TextBox ;3850 ;990 ;5500 ;440 ;ParentControl=1;
InPage=0;
SourceExpr="SMTP Server" }
{ 3 ;Label ;440 ;990 ;3300 ;440 ;ParentControl=2 }
{ 6 ;TextBox ;3850 ;2640 ;5500 ;440 ;ParentControl=1;
InPage=0;
SourceExpr="User ID" }
{ 7 ;Label ;440 ;2640 ;3300 ;440 ;ParentControl=6 }
{ 8 ;TextBox ;3850 ;3190 ;5500 ;440 ;ParentControl=1;
InPage=0;
PasswordText=Yes;
SourceExpr=Password }
{ 9 ;Label ;440 ;3190 ;3300 ;440 ;ParentControl=8 }
{ 4 ;TextBox ;3850 ;1540 ;2750 ;440 ;ParentControl=1;
InPage=0;
SourceExpr=Authentication;
OnAfterValidate=BEGIN
CurrForm."User ID".EDITABLE := Authentication = Authentication::Basic;
CurrForm.Password.EDITABLE := Authentication = Authentication::Basic;
END;
}
{ 5 ;Label ;440 ;1540 ;3300 ;440 ;ParentControl=4 }
// Add the following lines.
{ 14 ;TextBox ;3850 ;2090 ;5500 ;440 ;Name=<SMTP Server Port>;
ParentControl=1;
InPage=0;
DecimalPlaces=0:0;
NotBlank=Yes;
Numeric=Yes;
SourceExpr="SMTP Server Port";
MinValue=1 }
{ 15 ;Label ;440 ;2090 ;3300 ;440 ;ParentControl=14;
CaptionML=ENU=SMTP Server Port }
{ 12 ;CheckBox ;3850 ;3740 ;440 ;440 ;ParentControl=1;
InPage=0;
ShowCaption=No;
SourceExpr="Secure Connection" }
{ 11 ;Label ;440 ;3740 ;3300 ;440 ;ParentControl=12 }
// End of the lines.
{ 10 ;CommandButton;7370 ;5720 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
PushAction=FormHelp }
}
...
- Change the Mail variable in the SMTP Mail codeunit (400) as follows:
Existing valueMail@1000 : Automation "{68AEAA7B-9523-3511-AF5F-F2381D2C6F04} 1.0:{F9DAE2A4-D2F8-37C3-86D5-E4FFE166D860}:'Microsoft Navision Mail'.SmtpMessage";
Replacement valueMail@1000 : Automation "{68AEAA7B-9523-3511-AF5F-F2381D2C6F04} 7.3:{F9DAE2A4-D2F8-37C3-86D5-E4FFE166D860}:'Microsoft Navision Mail'.SmtpMessage";
- Change the code in the SMTP Mail codeunit (400) as follows:
Existing code...
BEGIN
WITH SMTPMailSetup DO
Result :=
Mail.Send(
// Delete the following line.
"SMTP Server",Authentication <> SMTPMailSetup.Authentication::Anonymous,"User ID", Password);
Mail.Dispose;
CLEAR(Mail);
IF Result <> '' THEN
ERROR(Text003,Result);
END;
...
Replacement code...
BEGIN
WITH SMTPMailSetup DO
Result :=
Mail.Send(
// Add the following lines.
"SMTP Server",
"SMTP Server Port",
Authentication <> Authentication::Anonymous,
"User ID",
Password,
"Secure Connection");
// End of the lines.
Mail.Dispose;
CLEAR(Mail);
IF Result <> '' THEN
ERROR(Text003,Result);
END;
...
Prerequisites
You must have one of the following products installed to apply this hotfix:
- Microsoft Dynamics NAV 2009 R2
- Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
Removal information
You cannot remove this hotfix.