diff --git a/windows/src/desktop/kmshell/install/Keyman.Configuration.UI.KeymanProtocolHandler.pas b/windows/src/desktop/kmshell/install/Keyman.Configuration.UI.KeymanProtocolHandler.pas index 8b78fa7601..feadd80945 100644 --- a/windows/src/desktop/kmshell/install/Keyman.Configuration.UI.KeymanProtocolHandler.pas +++ b/windows/src/desktop/kmshell/install/Keyman.Configuration.UI.KeymanProtocolHandler.pas @@ -39,6 +39,7 @@ uses UfrmInstallKeyboard, Upload_Settings, utildir, + IdURI, utilfiletypes; { TKeymanProtocolHandler } @@ -84,7 +85,7 @@ begin // TODO: refactor into separate unit together with code from UfrmInstallKeyboardFromWeb FTempDir := IncludeTrailingPathDelimiter(CreateTempPath); // I1679 try - FDownloadFilename := FTempDir + PackageID + Ext_PackageFile; + FDownloadFilename := FTempDir + TIdURI.URLDecode(PackageID) + Ext_PackageFile; FDownloadURL := KeymanCom_Protocol_Server + URLPath_PackageDownload(PackageID, BCP47, False); frmDownloadProgress := TfrmDownloadProgress.Create(nil); diff --git a/windows/src/desktop/kmshell/install/UfrmInstallKeyboardFromWeb.pas b/windows/src/desktop/kmshell/install/UfrmInstallKeyboardFromWeb.pas index 31e6eafb67..14921a8006 100644 --- a/windows/src/desktop/kmshell/install/UfrmInstallKeyboardFromWeb.pas +++ b/windows/src/desktop/kmshell/install/UfrmInstallKeyboardFromWeb.pas @@ -91,6 +91,7 @@ uses Upload_Settings, utilfiletypes, utildir, + IdURI, utilexecute, VersionInfo; @@ -215,7 +216,7 @@ var begin FTempDir := IncludeTrailingPathDelimiter(CreateTempPath); // I1679 try - FDownloadFilename := FTempDir + PackageID + Ext_PackageFile; + FDownloadFilename := FTempDir + TIdURI.URLDecode(PackageID) + Ext_PackageFile; FDownloadURL := KeymanCom_Protocol_Server + URLPath_PackageDownload(PackageID, BCP47, False); frmDownloadProgress := TfrmDownloadProgress.Create(Self);