Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Переезд классического ASP сайта на новый сервер: решение проблемы с COM+ процессами и печать PDF

Delphi , Технологии , COM и DCOM

Переезд классического ASP сайта на новый сервер: решение проблемы с COM+ процессами и печать PDF

Переезд веб-сайта с классическим ASP на новый сервер может быть непростой задачей, особенно если на сайте используются COM+ процессы. В данной статье мы рассмотрим типичную проблему, с которой можно столкнуться при такой миграции, и предложим решение, основанное на реальном случае из практики.

Описание проблемы

Имеется классический ASP сайт с тремя COM+ процессами, которые используются для создания отчетов в формате PDF. В процессе миграции с IIS 6/Server 2003 на IIS 8.5/Server 2012 R2, несмотря на успешную работу всех компонентов, возникают ошибки, связанные с отсутствием указания стандартного принтера.

Процессы COM+ настроены на использование учетной записи локального пользователя, для которого установлен стандартный принтер (Bullzip PDF). Эти процессы работают отдельно от IIS и написаны на Delphi, 32-битной версии, и были правильно зарегистрированы. Однако, несмотря на идентичные настройки COM+ на обоих машинах, ошибка возникает только на новом сервере.

Поиск решения

При миграции на новый сервер, который использует другую операционную систему и облачную платформу, важно обратить внимание на все аспекты настройки окружения. В данном случае, настройка стандартного принтера для учетной записи, под которой запускаются процессы, является ключевой.

Подтвержденное решение

Решение проблемы описано в статье поддержки Microsoft:

http://support.microsoft.com/en-us/kb/184291

Необходимо настроить стандартный принтер в реестре под ключом HKEY_USERS\.DEFAULT. Это достигается путем экспорта ключей реестра из HKCU, соответствующих портам, драйверам и выбранному стандартному принтеру, а затем редактированием файла реестра для изменения пути с HKEY_CURRENT_USER на HKEY_USERS\.DEFAULT. После этого, запустив импорт, настройки стандартного принтера будут доступны COM+ объектам, и проблема будет решена.

Пример кода

Пример кода на Object Pascal (Delphi) для работы с реестром может выглядеть следующим образом:

program RegistryExportImport;

{$APPTYPE CONSOLE}

uses
  System.SysUtils,
  Registry;

var
  RegistryKey: TRegistry;
  DefaultPrinterPath: string;
begin
  RegistryKey := TRegistry.Create(KEY_READ or KEY_WRITE);
  try
    RegistryKey.RootKey := HKEY_USERS;
    DefaultPrinterPath := '\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Devices';
    RegistryKey.OpenKeyReadWrite(DefaultPrinterPath);
    // Здесь код для экспорта и импорта ключей реестра
  finally
    RegistryKey.Free;
  end;
end.

Заключение

Переезд классического ASP сайта на новый сервер требует внимательности и понимания всех аспектов настройки среды, включая настройки принтера и регистрацию компонентов COM. Следуя подтвержденному решению, можно избежать ошибок, связанных с печатью PDF в COM+ процессах.

Альтернативный ответ

В случае, если предложенное решение не помогает, стоит тщательно проверить настройки учетной записи, под которой запускаются процессы, а также убедиться, что компоненты зарегистрированы с использованием 32-битной версии regsvr32.exe, находящейся в директории %systemroot%\SysWOW64. Это особенно важно для 64-битных систем, где по умолчанию используется 64-битная версия regsvr32.exe, которая регистрирует компоненты в 64-битном разделе реестра.

Создано по материалам из источника по ссылке.

Переезд классического ASP сайта на новый сервер требует решения специфических задач, включая настройку COM+ процессов и печать PDF.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: COM и DCOM ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 01:42:34/0.011121034622192/0