Question

J'ai un code Je travaille sur ce fonctionnait très bien jusqu'à ce que j'ai installé Mise à jour logicielle pour les dossiers Web (KB907306) dans Vista SP1. J'utilise ADO avec le fournisseur MSDAIPP.dso pour acess aux serveurs WebDAV et FPSE / WEC.

Le même code fonctionne très bien dans un environnement propre XP SP3 installer et travaillé avant cette mise à jour (mais je vais revérifier sur une installation propre Vista).

Un court cas de test (un script WSH nommé IPPTest.wsf) est:

<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>

Quand je tombe en panne obtenir l'exception:

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

Pire encore, je ne peux pas même jusque-là quand je lance le même script sur Win7 Beta (je ne l'ai pas encore installé la RC). Mon Win7 Beta n'a pas MSDAIPP.dll du tout.

J'ai également testé à l'aide de l'échantillon froussard Microsoft office Web Folder Sample client (pour MSDAIPP) écrit en VC ++ 6.0 juste pour supprimer ADO de l'image. Le précompilé EXE fonctionnera et travailler (dans une certaine mesure) sur mon foiré Vista SP1 et sur le propre XP SP3, mais pas du tout sur une version bêta de Windows 7 propre (erreur « ne peut pas créer MSDAIPP.dso »). Je dis « dans une certaine mesure » parce que, pour une raison étrange, les applications de démonstration Microsoft affiche fichier vide et les dossiers, mais il peut télécharger / télécharger des fichiers et des répertoires traversent très bien.

Il semble donc que ADO est à la recherche d'une interface qui ne l'expose plus MSDAIPP.dso.

Le « cassé » MSDAIPP.dll est une version 12.0.4518.1014 et est situé dans C:\Program Files\Common Files\System\Ole DB comme on pouvait s'y attendre. Cette machine Vista SP1 a également installé Office 2003 (et a fait avant la "mise à jour").

(enfin) J'ai trois questions:

  • Est-il possible de sauvegarder ce « logiciel Mise à jour » out? Il installe plus juste le MSDAIPP.dll, et que Microsoft dit qu'il n'y a pas de désinstallation pour ce "Fixer".
  • Y at-il solution de contournement ou un correctif ultérieure qui fixe le correctif?
  • Quelle est l'histoire sur MSDAIPP et Win7? Est-il présent dans Win7RC1? ou bien les utilisateurs doivent installer Office pour obtenir (elle était auparavant une partie de Windows commençant par Win2K)?

Plus d'informations!

J'ai trouvé, après une longue recherche (longue):

Webdav sur IIS 6.0 Dépannage

  

Note: Le client Web Extender (nom de code   Rosebud) n'est pas livré avec Windows   Vista et la fonctionnalité WebDAV dans Vista   est limitée aux capacités du Web   Service à la clientèle (le redirecteur WebDAV.)

     

Les applications écrites pour tirer parti Rosebud et   travaillant auparavant sans problème sur Windows   machines XP peuvent échouer dans Windows Vista.

     

La fonctionnalité WebDAV supplémentaire   le client Web Extender avait été   exposée précédemment dans Windows 2000   et Windows XP comme les dossiers Web   composant, MSDAIPP, et on a accédé   dans Windows 2000 via l'Explorateur Windows   et dans Windows XP via le réseau Ajouter   Assistant Ajout. Dossiers Web ont été   pas été inclus dans Windows Vista,   mais les dossiers composant Web est   toujours disponible dans le cadre d'un Microsoft   installation de Microsoft Office. pose   Office 2007 sur un client Windows Vista   l'expérience Web Extender   l'échec de la connectivité dépendant du client   résout le problème.

À ce stade, je soupçonne que par l'installation d'Office 2003, j'ai ajouté ce qui était autrefois une capacité de Windows Vista fondamentale. Par la suite l'installation de la mise à jour du logiciel (qui est Office 2007 orienté, mais il a été prétendu ne pas nuire au Bureau précédent installe) cassé la fonctionnalité. Je ne me souviens pas être dans un Vinotes de version sta.

Même si la mise à jour peut être fait pour travailler, ce sera un énorme casse-tête pour tous les programmes qui attendent un MSDAIPP de travail pour être présent dans Vista ou Windows 7.

On dirait que Microsoft vient de rompre un autre rayon de la roue de VB6 avec celui-ci en brisant MDAC / DAC. Cela peut être une évaluation prématurée, et je suis en attente d'autres suggestions ou informations.

Je me demande comment les autres Microsoft attend que nous accomplissions l'accès programmatique via WebDAV et FPSE / WEC? Y at-il une nouvelle API, nous devrions connaître au lieu d'utiliser ADO avec MSDAIPP (Rosebud a.k.a.)?

Était-ce utile?

La solution

On dirait qu'il est temps de demander à Microsoft à ce sujet.


Mise à jour: Je vais voir si je peux trouver quelqu'un pour vous obtenir une réponse plus définitive. Si vous ne l'entendez pas en arrière de moi ou quelqu'un d'autre, me « ping » en ajoutant un autre commentaire à cette réponse, dans une semaine.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top