MSDAIPP сломан в Vista из-за обновления, отсутствует в Win7Beta

StackOverflow https://stackoverflow.com/questions/1081007

  •  22-08-2019
  •  | 
  •  

Вопрос

У меня есть некоторый код, над которым я работаю, который работал просто отлично, пока я не установил Обновление программного обеспечения для веб-папок (KB907306) в Vista SP1.Я использую ADO с MSDAIPP.Поставщик DSO для доступа к серверам WebDAV и FPSE / WEC.

Тот же код отлично работает при чистой установке XP SP3 и работал до этого обновления (но я перепроверю при чистой установке Vista).

Краткий тестовый пример (сценарий WSH с именем IPPTest.wsf) представляет собой:

<job>
  <reference object="ADODB.Connection"/>
  <object id="cnIPP" progId="ADODB.Connection"/>
  <object id="rec" progId="ADODB.Record"/>
  <object id="stm" progId="ADODB.Stream"/>
  <script language="VBScript">
  Option Explicit
  Const WEBROOT = "https://your.DAC-or-WEC.server"
  Const USER = "youruser"
  Const PW = "yourpw"
  Const TEXTFILE = "yourtextfile.txt"

  cnIPP.Open "Provider=MSDAIPP.DSO;Prompt=NoPrompt;" _
           & "Connect Timeout=10;" _
           & "Data Source=" & WEBROOT, _
             USER, PW, adConnectUnspecified

  rec.Open TEXTFILE, cnIPP, adModeRead
  stm.Open rec, , adOpenStreamFromRecord
  stm.Type = adTypeText
  stm.Charset = "ascii"
  MsgBox stm.ReadText(adReadLine)

  stm.Close
  rec.Close
  cnIPP.Close
  </script>
</job>

Когда это не удается, я получаю исключение:

---------------------------
Windows Script Host
---------------------------
Script: C:\Users\xxxxx\Desktop\IPPTest.wsf
Line:   19
Char:   8
Error:  No such interface supported 
Code:   80004002
Source:     (null)

Хуже того, я не могу зайти так далеко даже при запуске того же скрипта в Win7 Beta (я еще не установил RC).В моей бета-версии Win7 вообще нет MSDAIPP.DLL.

Я также тестировал, используя обалденный образец Пример клиента веб-папок Microsoft Office (для MSDAIPP) написано на VC ++ 6.0 просто для того, чтобы убрать ADO с картинки.Предварительно скомпилированный EXE-файл будет запускаться и работать (в некоторой степени) на моей испорченной Vista SP1 и на чистой XP SP3, но совсем не на чистой бета-версии Windows 7 (ошибка "не удается создать MSDAIPP.DSO").Я говорю "в некоторой степени", потому что по какой-то странной причине демонстрационное приложение Microsoft отображает пустые имена файлов и папок, хотя оно прекрасно может загружать файлы и перемещаться по каталогам.

Таким образом, похоже, что ADO ищет интерфейс, который MSDAIPP.DSO больше не предоставляет.

"Сломанный" MSDAIPP.DLL имеет версию 12.0.4518.1014 и расположена в C:\Program Files\Common Files\System\Ole DB как и следовало ожидать.На этом компьютере с Vista SP1 также установлен Office 2003 (и был установлен до "обновления").

Итак (наконец) У меня есть три вопроса:

  • Есть ли способ отменить это "Программное обеспечение Обновление"?Он устанавливает больше, чем только MSDAIPP.DLL, и, поскольку Microsoft говорит, что для этого нет удаления "исправить".
  • Существует ли какое-либо обходное решение или последующее исправление, которое исправляет это исправление?
  • Какова история с MSDAIPP и Win7?Присутствует ли он в Win7RC1?Или пользователям нужно будет установить Office, чтобы получить его (ранее он был частью Windows, начиная с Win2K)?

Больше информации!

После длительного поиска я нашел следующее:

Устранение неполадок Webdav в IIS 6.0

Примечание:Клиент Web Extender (кодовое имя Rosebud) не поставляется с Windows Vista, а функциональность WebDAV в Vista ограничена возможностями Web Клиентской службы (средства перенаправления WebDAV).

Приложения, написанные для использования Rosebud и ранее работавшие без проблем на Windows Компьютеры XP могут выходить из строя в Windows Vista.

Дополнительная функциональность WebDAV клиент Web Extender был ранее представлен в Windows 2000 и Windows XP в качестве веб-папок компонент MSDAIPP и был доступен в Windows 2000 через проводник Windows и в Windows XP через добавление сети Мастер размещения.Веб-папки были не включены в Windows Vista, но компонент веб-папки по-прежнему доступен как часть установки Microsoft Office.Установка Office 2007 на клиенте Windows Vista сбой Web Extender Зависящий от клиента сбой подключения устраняет проблему.

На данный момент я подозреваю, что, установив Office 2003, я добавил в Vista то, что раньше было фундаментальной возможностью Windows.Последующая установка обновления программного обеспечения (ориентированного на Office 2007, хотя утверждалось, что оно не наносит вреда предыдущим установкам Office) сломался функциональность.Я не помню, чтобы это было в каких-либо примечаниях к выпуску Vista.

Даже если Обновление удастся заставить работать, это станет огромной головной болью для любых программ, которые ожидают, что работающий MSDAIPP будет присутствовать в Vista или Windows 7.

Похоже, Microsoft только что сломала еще одну спицу в колесе VB6, взломав MDAC / DAC.Возможно, это преждевременная оценка, и я жду любых других предложений или информации.

Интересно, как еще Microsoft ожидает, что мы обеспечим программный доступ через WebDAV и FPSE / WEC?Есть ли новый API, о котором мы должны знать, вместо использования ADO с MSDAIPP (он жеБутон розы)?

Это было полезно?

Решение

Похоже, пришло время спросить Microsoft об этом.


Обновить:
Я посмотрю, смогу ли я найти кого-нибудь, кто даст вам более окончательный ответ.Если вы не получите ответа от меня или кого-то еще, "пропингуйте" меня, добавив еще один комментарий к этому ответу, примерно через неделю.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top