Domanda

Ho qualche codice che sto lavorando su che ha funzionato bene fino a quando ho installato Aggiornamento software per Cartelle Web (KB907306) in Vista SP1. Sto utilizzando ADO con il provider MSDAIPP.DSO per acess a WebDAV e FPSE / server WEC.

Lo stesso codice funziona bene in una SP3 pulito installazione di XP, e ha lavorato prima di questo aggiornamento (ma io ri-verificare su un Vista installazione pulita).

Un banco di prova breve (uno script WSH chiamato 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>

Quando non riesce ottengo l'eccezione:

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

Ancora peggio, non posso nemmeno arrivare così lontano quando ho eseguito lo stesso script su Win7 Beta (non ho ancora installato la RC). Il mio Win7 Beta non ha MSDAIPP.DLL a tutti.

Ho anche provato utilizzando il campione funky cartella Web di Microsoft Office di esempio client (per MSDAIPP) scritto in VC ++ 6.0 solo per rimuovere ADO dalla foto. Il precompilato EXE verrà eseguito e lavorare (in una certa misura) sul mio incasinato Vista SP1, e sulla SP3 pulita XP, ma non a tutti su una superficie pulita di Windows 7 Beta ( "non può creare MSDAIPP.DSO" errore). Dico "in qualche misura", perché per qualche strana ragione i nomi dei file e delle cartelle vuote demo applicazione visualizza Microsoft, anche se può caricare / scaricare file e le directory di traslazione bene.

Così sembra che ADO è alla ricerca di un'interfaccia che il MSDAIPP.DSO non espone.

Il MSDAIPP.DLL "rotto" è la versione 12.0.4518.1014 e si trova in C:\Program Files\Common Files\System\Ole DB come ci si aspetterebbe. Questa macchina Vista SP1 ha anche installato Office 2003 (e ha fatto prima del "update").

Quindi, (finalmente) Ho tre domande:

  • C'è un modo per eseguire questo "Software Update" fuori? Si installa più di solo il MSDAIPP.DLL, e come Microsoft dice che non c'è di disinstallazione per questo "Fissare".
  • C'è qualche soluzione o successiva correzione che risolve la correzione?
  • Qual è la storia su MSDAIPP e Win7? E 'presente in Win7RC1? o sarà gli utenti devono installare Office ottenerlo (precedentemente era parte Finestre a cominciare da Win2K)?

Maggiori informazioni!

Ho trovato il seguente dopo una lunga (lunga) di ricerca:

WebDAV su IIS 6.0 Risoluzione dei problemi

  

Nota: Il Web Extender Client (nome in codice   Rosebud) non viene fornito con Windows   Vista e la funzionalità WebDAV in Vista   è limitato alle capacità del Web   servizio Client (il redirector WebDAV.)

     

Le applicazioni scritte per sfruttare Rosebud e   in precedenza a lavorare senza problemi su Windows   macchine di XP potrebbe non riuscire in Windows Vista.

     

La funzionalità WebDAV aggiuntiva di   il client Web Extender era stato   esposti in precedenza in Windows 2000   e Windows XP come le cartelle Web   componente, MSDAIPP, e si accedeva   in Windows 2000 tramite Windows Explorer   e in Windows XP tramite il componente aggiuntivo Network   Guidata risorse. Cartelle Web sono stati   non è stato incluso in Windows Vista,   ma la componente Cartelle Web è   ancora disponibile come parte di un Microsoft   installazione di Office. Installazione   Office 2007 su un client Windows Vista   sperimentando Extender Web   fallimento di connettività client-dipendente   risolve il problema.

A questo punto ho il sospetto che con l'installazione di Office 2003 ho aggiunto quello che era precedentemente una capacità fondamentale di Windows per Vista. installazione Successivamente l'aggiornamento del software (che è Office 2007 orientato, anche se è stato affermato di non fare del male a Office installazioni precedenti) ha rotto la funzionalità. Non ricordo questo essere in qualsiasi ViStA note di rilascio.

Anche se l'aggiornamento può essere fatto per lavorare, questo sarà un enorme mal di testa per tutti i programmi che si aspettano una MSDAIPP di lavoro di essere presente in Vista o Windows 7.

Sembra che Microsoft ha appena rotto un altro ha parlato fuori la ruota di VB6 con questa rompendo MDAC / DAC. Che può essere una valutazione prematura, e sto in attesa di eventuali altri suggerimenti o informazioni.

Mi chiedo in quale altro modo Microsoft si aspetta che noi realizziamo l'accesso programmatico tramite WebDAV e FPSE / WEC? C'è una nuova API che dovremmo sapere invece di utilizzare ADO con MSDAIPP (anche noto come Rosebud)?

È stato utile?

Soluzione

Sembra è il momento di chiedere a Microsoft su questo.


UPDATE:
Vedrò se riesco a trovare qualcuno per ottenere una risposta più definitiva. Se non si sente di nuovo da me o qualcun altro, "ping" me con l'aggiunta di un altro commento a questa risposta, in circa una settimana.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top