Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prüfen ob Excel-Viewer installiert ist (https://www.delphipraxis.net/183143-pruefen-ob-excel-viewer-installiert-ist.html)

lowmax_5 15. Dez 2014 15:29

Prüfen ob Excel-Viewer installiert ist
 
Hallo,

welche Möglcihkeiten gibt es zu prüfen, ob der Excel-Viewer (Version 2013) installiert ist?

Lyan 15. Dez 2014 15:51

AW: Prüfen ob Excel-Viewer installiert ist
 
Hey schreibe mit dem handy - wird also nur ein kleiner tipp gegeben:

Regedit.exe und nach eindeutigen excel viewer einträgen suchen.. danach kannst du mit deinem programm prüfen ob der key existiert. Ich denke die version steht auch in der registry. gegebenenfalls aus der registry noch den programmpfad ziehen und aus der exe die dateiversion ziehen.. andonsten ne checksum von der exe mit version xxx bilden und abgleichen.

Lg

himitsu 15. Dez 2014 15:53

AW: Prüfen ob Excel-Viewer installiert ist
 
Der Registriert ganz bestimmt eine ActiveX-Komponente, worüber er in andere Programme eingebunden werden kann.

Man kann prüfen ob diese Komponente existiert (notfalls versucht man sie einfach mal zu erstellen).


Wenn möglich sollte man niemals direkt auf irgendwelche Registry-Pfade gehen.
Je nach System/Installation können sich Pfade unterscheiden und wenn man die Möglichkeit "richtig" ein Vorhandensein zu prüfen ist das immer besser.

Beispiel für den Acrobat-Reader:
Delphi-Quellcode:
// AcroPDFLib_TLB importiert

try
  AcrobatPDF := TAcroPDF.Create(nil);
  AcrobatPDF.Free;
  Existiert := True;
except
  Existiert := False;
end;
Delphi-Quellcode:
try
  AcrobatPDF := TAcroPDF.Create(Self);
  AcrobatPDF.Parent := Panel1;
  AcrobatPDF.Align := alClient;
except
  on E: Exception do begin
    AcrobatPDF := nil;
    ShowMessage('Adobe Acrobat Reader nicht gefunden');
  end;
end;

Lyan 15. Dez 2014 16:45

AW: Prüfen ob Excel-Viewer installiert ist
 
Zitat:

Wenn möglich sollte man niemals direkt auf irgendwelche Registry-Pfade gehen
Hab ja extra das Wort "eindeutig" benutzt. Es gibt nämlich durchaus solche Einträge. Ist manchmal wohl etwas mühsam herauszufinden, und ja via activex wäre es definitiv sauberer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 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