AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

msxml deinstallieren

Ein Thema von xml99 · begonnen am 2. Feb 2005 · letzter Beitrag vom 4. Feb 2005
Antwort Antwort
Seite 1 von 2  1 2      
xml99

Registriert seit: 2. Feb 2005
Ort: Köln
13 Beiträge
 
Delphi 2007 Professional
 
#1

msxml deinstallieren

  Alt 2. Feb 2005, 21:16
Hallo zusammen,

weiss jemand, wie man alle! msxml Versionen des Rechners (oder eine bestimmte) deinstalliert und überprüfen kann was noch auf dem Rechner ist?

Habe mit regsvr32 -u msxml usw. alle Versionen incl. 4 deaktiviert, aber meine App transformiert noch immer (unter system32 sind noch die beiden Dateien von msxml3 die sich nicht löschen lassen).

Ich möchte meine Exception-Behandlung testen...

Grüße
xml99
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:18
Wäre es nicht einfacher, du testest das auf dem Rechner eines Bekannten, der kein XML installiert hat? Überhaupt, was meinst du mit Exception-Behandlung? Gucken ob es installiert ist? Dazu brauchst du keine Exception.
  Mit Zitat antworten Zitat
xml99

Registriert seit: 2. Feb 2005
Ort: Köln
13 Beiträge
 
Delphi 2007 Professional
 
#3

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:24
Hi,

gute Idee mit einem Rechner zu probieren, der kein msxml hat. Aber wird das nicht immer installiert, wenn IE auf dem Rechner ist?Zudem würde ich nmeine App gerne debuggen, um zu sehen, wo es "knallt".

Exception-Handling? Wenn kein msxml installiert ist, dann sollte jede Anweisung ein xml mit einem xsl-Stylesheet zu transformieren zu einem raise führen. Was gibt der aus, kann ich das verwerten, kann ich den Fehler richtig abfangen,...? Ich weiss, die meisten wollen das es funktioniert. Das ist ja meistens auch so, aber leider in Ausnahmen auch mal anders. Und dann?

Grüße
xml99
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:31
Ich persönlich prüfe die Existenz von MS-XML mit einer speziellen Funktion gleich zu Beginn. Wird nicht die erwartete Version gefunden, beendet sich das Programm. Bei einem VCL-Projekt ist diese Funktion am besten im Projektquelltext (*.dpr) aufgehoben, noch bevor die ersten Forms geladen werden. In der DP treibt sich noch eine Funktion [dp]"DoesXmlExist"[/dp] rum (auch von mir), aber mittlerweile benutze ich die hier:
Delphi-Quellcode:
function DoesObjectExist(const ClassID: TGUID): boolean;

  function GuidToString(const ClassID: TGUID): string;
  var
    p : PWideChar;
  begin
    Result := '';

    if(Succeeded(StringFromCLSID(ClassID,p))) then
    begin
      Result := p;
      CoTaskMemFree(p);
    end;
  end;

  function ExpandEnvStr(const szInput: string): string;
  const
    MAXSIZE = 32768;
  begin
    SetLength(Result,MAXSIZE);
    SetLength(Result,ExpandEnvironmentStrings(pchar(szInput),
      @Result[1],length(Result)));
  end;

var
  reg : HKEY;
  dwType,
  dwLen : dword;
  s : string;
begin
  Result := false;

  if(RegOpenKeyEx(HKEY_CLASSES_ROOT,pchar('CLSID\' +
    GuidToString(ClassID) + '\InProcServer32'),
    0,KEY_READ,reg) = ERROR_SUCCESS) then
  try
    dwType := REG_NONE;
    dwLen := 0;

    if(RegQueryValueEx(reg,nil,nil,@dwType,nil,@dwLen) = ERROR_SUCCESS) and
      (dwType in [REG_SZ,REG_EXPAND_SZ]) and
      (dwLen > 0) then
    begin
      SetLength(s,dwLen);

      if(RegQueryValueEx(reg,nil,nil,@dwType,@s[1],@dwLen) = ERROR_SUCCESS) then
        SetLength(s,dwLen-1)
      else
        s := '';

      Result := (s <> '') and
        (fileexists(ExpandEnvStr(s)));
    end;
  finally
    RegCloseKey(reg);
  end;
end;
weil sie flexibler ist und nicht nur nach XML suchen kann. Aber für XML 4 würde es so aussehen:
Delphi-Quellcode:
  if(not DoesObjectExist(CLASS_DOMDocument40)) then
  begin
    MessageBox(0,'XML 3 wird benötigt.',nil,MB_OK or MB_ICONEXCLAMATION);
    exit;
  end;
Wie gesagt, klappt nicht nur bei XML. Auch beim Help 2.0-Environment
Delphi-Quellcode:
  if(not DoesObjectExist(CLASS_HxSession)) then
    Halt(3);
  Mit Zitat antworten Zitat
xml99

Registriert seit: 2. Feb 2005
Ort: Köln
13 Beiträge
 
Delphi 2007 Professional
 
#5

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:40
Hi Mathias,

super die Source! Danke.

Ich habe aber ein akutes Problem, dass trotz installiertem msxml4 die Transformation scheitert (auf meinem 2.ten Rechner).

Ich habe schon alles probiert... alles mit regsvr32 deaktivieren, msxml3, dann msxml4 neu installieren... nix.

Jetzt ist mein Wunsch, auf dem 1.ten Rechner es mal ohne msxml testen zu können, um auf dem 2.ten (da kann ich keine IDE installieren) besser klar zu kommen.

Oder hast Du eine Idee, warum bei gleichem BS (XP) und installiertem msxml3, msxml4 und gleichem Programm (aus der gleichen Source) die Transformation scheitern kann? Jeder Tipp könnte mir helfen.

Grüße
xml99
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#6

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:44
Nee, habe ich leider nicht. Wundert mich auch. Unterscheidet die Rechner irgendwas von einander? Oder ist auf beiden XML 3 und 4 drauf?
  Mit Zitat antworten Zitat
xml99

Registriert seit: 2. Feb 2005
Ort: Köln
13 Beiträge
 
Delphi 2007 Professional
 
#7

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:49
Tja, das ist das Seltsame, auf beiden habe ich frisch msxml3 und 4 installiert in der gleichen Reihenfolge. Beide haben gleiches BS und Servicepack.

Deshalb auch die Idee alles zu deinstallieren (msxml meine ich) und dann von vorne beginnen.

Muss denn zu msxml noch was installiert sein, damit ein xslt funktioniert? Eine dll? Oder was anderes? Sehe immer nur die Dateien "msxml3.dll", "msxml3r.dll" und das gleiche für 4. In der Registry ein bestimmer Eintrag?

Grüße
xml99
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:50
An wie viel Stellen diskutiert ihr denn jatzt das xslt Thema? Benutzt doch bitte den Thread der extra dafür aufgemacht wurde. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#9

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:52
Nee, das macht ja die Installation von XML automatisch. Aber die Frage nach dem Servicepack im anderen Beitrag bezog sich auf das aktuelle XML Servicepack. Ich weiß gar nicht, ... bei 3 ist glaube ich das SP5-Paket erhältlich. Bei XML 4 ist es noch das SP2. Das ist auch bloß noch mal das komplette XML-Paket, bloß eben aktuell.


Ich habe mich gerade für den entschieden, @Luckie. Vllt. könnte der Beitragersteller, wenn es eh das gleiche Thema ist, diesen Beitrag hier umbenennen und euch (dich) auffordern, den anderen Beitrag zu entsorgen?
  Mit Zitat antworten Zitat
xml99

Registriert seit: 2. Feb 2005
Ort: Köln
13 Beiträge
 
Delphi 2007 Professional
 
#10

Re: msxml deinstallieren

  Alt 2. Feb 2005, 21:54
@Michael,

ich wollte eigentlich das Thema Deinstallation von dem Problem 2ter Rechner trennen. Wenn Du meinst, kann der andere Thread gelöscht werden.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz