MSDAIPP는 업데이트에 의해 Vista에서 깨졌습니다. Win7beta에서 누락되었습니다.

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

  •  22-08-2019
  •  | 
  •  

문제

설치 될 때까지 잘 작동하는 코드가 있습니다. 웹 폴더 용 소프트웨어 업데이트 (KB907306) Vista sp1에. Acess to Webdav 및 FPSE/WEC 서버를 위해 MSDAIPP.DSO 제공 업체와 ADO를 사용하고 있습니다.

동일한 코드는 깨끗한 XP SP3 설치에서 정상적으로 작동 하며이 업데이트 전에 작업했습니다 (그러나 깨끗한 Vista 설치에서 재검토 할 것입니다).

짧은 테스트 케이스 (ipptest.wsf라는 WSH 스크립트)는 다음과 같습니다.

<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 베타에서 동일한 스크립트를 실행할 때도 그렇게 멀리 얻을 수 없습니다 (아직 RC를 설치하지 않았습니다). 내 Win7 베타에는 msdaipp.dll이 전혀 없습니다.

또한 펑키 샘플을 사용하여 테스트했습니다 Microsoft Office 웹 폴더 클라이언트 샘플 (MSDAIPP 용) 그림에서 Ado를 제거하기 위해 VC ++ 6.0으로 작성되었습니다. 사전 컴파일 된 EXE는 내 엉망인 Vista SP1과 깨끗한 XP SP3에서 실행되고 작동하지만 깨끗한 Windows 7 베타 ( "MSDAIPP.DSO"오류에서는 전혀 그렇지 않습니다. 이상한 이유 때문에 Microsoft 데모 앱에는 빈 파일과 폴더 이름이 표시되지만 파일을 업로드/다운로드하고 트래버스 디렉토리를 올릴 수 있기 때문에 "어느 정도"라고 말합니다.

따라서 Ado는 MSDAIPP.DSO가 더 이상 노출되지 않는 인터페이스를 찾고있는 것 같습니다.

"Broken"MSDAIPP.DLL은 버전 12.0.4518.1014이며 C:\Program Files\Common Files\System\Ole DB 예상대로. 이 Vista SP1 머신에는 Office 2003이 설치되어 있습니다 ( "업데이트"이전에 수행).

그래서 (마지막으로) 세 가지 질문이 있습니다.

  • 이 "소프트웨어 업데이트"를 뒷받침하는 방법이 있습니까? Microsoft가 말했듯 이이 "수정"에 대한 제거는 없다고 말했듯이 Msdaipp.dll 이상의 것을 설치합니다.
  • 수정을 수정하는 해결 방법이나 후속 수정 사항이 있습니까?
  • MSDAIPP와 WIN7에 대한 이야기는 무엇입니까? Win7RC1에 존재합니까? 아니면 사용자가 사무실을 설치해야합니까 (이전에는 Win2K로 시작하는 Windows의 일부였습니다)?

추가 정보!

긴 (긴) 검색 후 다음을 발견했습니다.

IIS 6.0 문제 해결의 WebDav

참고 : Web Extender Client (CodeName RoseBud)에는 Windows Vista가 제공되지 않으며 Vista의 WebDAV 기능은 Web Client Service (WebDAV 리디렉터)의 기능으로 제한됩니다.

RoseBud를 활용하기 위해 작성된 응용 프로그램은 Windows Vista에서 Windows XP 시스템에서 문제없이 이전에 작동하지 않을 수 있습니다.

웹 익스텐더 클라이언트의 추가 WebDAV 기능은 이전에 Windows 2000 및 Windows XP에서 웹 폴더 구성 요소 MSDAIPP로 노출되었으며 Windows 2000에서 Windows Explorer 및 Windows XP Add Network Place 마법사를 통해 액세스했습니다. Windows Vista에는 웹 폴더가 포함되지 않았지만 웹 폴더 구성 요소는 Microsoft Office 설치의 일부로 사용할 수 있습니다. Windows Vista 클라이언트에 Web Extender 클라이언트 의존성 연결 실패가 발생하는 Windows Vista 클라이언트에 Office 2007을 설치하면 문제가 해결됩니다.

이 시점에서 나는 Office 2003을 설치함으로써 이전에 Vista에 대한 기본 Windows 기능을 추가했다고 생각합니다. 이후 소프트웨어 업데이트 설치 (사무실 2007 지향적이지만 이전 사무실 설치에 해를 끼치 지 않는다고 주장됨) 파산 기능. 나는 이것이 Vista 릴리스 노트 에서이 사실을 기억하지 않습니다.

업데이트가 작동하도록해도 작업중인 MSDAIPP가 Vista 또는 Windows 7에 존재할 것으로 예상되는 모든 프로그램에 큰 두통이 될 것입니다.

Microsoft가 MDAC/DAC를 깨뜨려 VB6의 바퀴를 다른 vb6의 바퀴에서 나누는 것처럼 보입니다. 그것은 조기 평가 일 수 있으며 다른 제안이나 정보를 기다리고 있습니다.

Microsoft가 WebDAV 및 FPSE/WEC를 통해 프로그래밍 방식 액세스를 달성하기를 기대하는지 궁금합니다. MSDAIPP (일명 로즈 버드)와 함께 Ado를 사용하는 대신 알아야 할 새로운 API가 있습니까?

도움이 되었습니까?

해결책

Microsoft에게 이것에 대해 물어볼 시간 인 것 같습니다.


업데이트:
더 결정적인 답을 얻을 사람을 찾을 수 있는지 확인하겠습니다. 당신이 나나 다른 사람의 의견을 듣지 못하면, "Ping"은 약 1 주일 만 에이 답변에 다른 의견을 추가하여 "나".

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top