Я решил проблему. Существует несоответствие между именем принтера в inf-файле Windows 7 и именем на компьютере с XP, на котором установлен принтер.
Это не сложно исправить, и на первый взгляд это может показаться не интуитивно понятным, но вот решение:
Принтер с именем «Brother HL-1440 series» - это то, что видит Windows 7, когда обнаруживает принтер в сети. Вы можете увидеть имя, перейдя в окно XP и посмотрев имя драйвера на вкладке «Дополнительно» диалогового окна свойств принтера:
Пуск / Принтеры и факсы / выберите принтер / щелкните правой кнопкой мыши / Свойства / Дополнительно
Это имя определено в inf-файле драйвера принтера на целевом компьютере. Я посмотрел в этом файле и увидел следующий список:
[DriverName]
"Brother HL-1230 series" = BROHL123.PPD,LPTENUM\BrotherHL-1230_serieE46E,BrotherHL-1230_serieE46E
"Brother HL-1440 series" = BROHL144.PPD,LPTENUM\BrotherHL-1440_serie0BD1,BrotherHL-1440_serie0BD1
"Brother HL-1450 series" = BROHL145.PPD,LPTENUM\BrotherHL-1450_serie9BDC,BrotherHL-1450_serie9BDC
"Brother HL-1470N series" = BROHL147.PPD,LPTENUM\BrotherHL-1470N_seri8521,BrotherHL-1470N_seri8521
Теперь мне нужно было посмотреть, что пытается использовать Windows 7. Я загрузил утилиту удаления Brother HL-1440 и запустил ее на стороне Windows 7. Я выбрал HL-1440 в списке, нажал кнопку Search Inf, затем выбрал файл с именем C:\Windows\INF\oem21.inf и нажал View. Имя в этом файле:
"Brother HL-1440" = MS_BRH1440U.GPD,BROTHERHL-1440_SERIE0BD1,Brother_HL-1440_USB,Brother_HL-1440 ; Hardware ID
Устройство XP определяет принтер как «Brother HL-1440 series», а имя Windows 7 определяет его как «Brother HL-1440». Я отредактировал inf-файл XP в блокноте и продублировал строку для «Brother HL-1440 series» и переименовал принтер в «Brother HL-1440», чтобы он выглядел так:
[DriverName]
"Brother HL-1230 series" = BROHL123.PPD,LPTENUM\BrotherHL-1230_serieE46E,BrotherHL-1230_serieE46E
"Brother HL-1440 series" = BROHL144.PPD,LPTENUM\BrotherHL-1440_serie0BD1,BrotherHL-1440_serie0BD1
"Brother HL-1440" = BROHL144.PPD,LPTENUM\BrotherHL-1440_serie0BD1,BrotherHL-1440_serie0BD1
"Brother HL-1450 series" = BROHL145.PPD,LPTENUM\BrotherHL-1450_serie9BDC,BrotherHL-1450_serie9BDC
"Brother HL-1470N series" = BROHL147.PPD,LPTENUM\BrotherHL-1470N_seri8521,BrotherHL-1470N_seri8521
Затем я обновил драйвер на компьютере с XP, чтобы использовать новое имя. Теперь, когда имена совпадают, я могу использовать мастер добавления принтера, чтобы добавить драйвер, и все хорошо.
Вы также можете продублировать строку в файле Windows 7 и отредактировать копию так, чтобы она соответствовала имени в окне XP. Вам решать, какую сторону вы редактируете, но я не решался связываться с системными файлами Windows 7.
Какая боль - вы могли бы подумать, что для идентификации аппаратного устройства будет использоваться какой-то идентификатор оборудования, а не строковое значение. Во всяком случае, после почти шести месяцев борьбы я могу печатать.