MSDAIPP rotto su Vista da Update, manca in Win7Beta
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)?
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.