Mit Batch in registry überprüfen ob ein programm vorhanden ist, wenn nicht das programm installieren
Hallo,
also ich hae folgendes vor
1. möchte ich überprüfen ob framework 2.0 installiert is (egal welche version hauptsache 2.0) un wenn nicht soll es installiert werden
2. möchte ich überprüfen ob dao 3.5 installiert is un wenn nicht soll es installiert werden
soll aber in registry überprüft werden, da man ja bei framework 2.0 zumindest net weiß wo eine datei liegt die man überprüfen kann (ich mein weil ja ordner z.b. Microsoft.NET\Framework\v2.0.50727 heisen kann un wenn ne andere v2.XX nummer da steht is klar das datei net findet)
ist das möglich mit hilfe einer batch datei ?
MfG
MTB
also ich hae folgendes vor
1. möchte ich überprüfen ob framework 2.0 installiert is (egal welche version hauptsache 2.0) un wenn nicht soll es installiert werden
2. möchte ich überprüfen ob dao 3.5 installiert is un wenn nicht soll es installiert werden
soll aber in registry überprüft werden, da man ja bei framework 2.0 zumindest net weiß wo eine datei liegt die man überprüfen kann (ich mein weil ja ordner z.b. Microsoft.NET\Framework\v2.0.50727 heisen kann un wenn ne andere v2.XX nummer da steht is klar das datei net findet)
ist das möglich mit hilfe einer batch datei ?
MfG
MTB
Please also mark the comments that contributed to the solution of the article
Content-ID: 66457
Url: https://administrator.de/contentid/66457
Printed on: October 10, 2024 at 04:10 o'clock
8 Comments
Latest comment
Hi,
gehe auf
http://www.tmgdevelopment.co.uk/versioncheck.htm
in der Zip-Datei ist auch eine *.com die für die Kommandozeile ist. Damit könntest Du über VersionCheck.com|find /I "<STRING>" ne Batch basteln mit ERRORLEVEL und anschliessendem Ausführen der Installation. Das Teil zeigt Dir auch die ADO und IE Version an.
Weitere Möglichkeit über Registry wäre REG QUERY .
bye
Karo
gehe auf
http://www.tmgdevelopment.co.uk/versioncheck.htm
in der Zip-Datei ist auch eine *.com die für die Kommandozeile ist. Damit könntest Du über VersionCheck.com|find /I "<STRING>" ne Batch basteln mit ERRORLEVEL und anschliessendem Ausführen der Installation. Das Teil zeigt Dir auch die ADO und IE Version an.
Weitere Möglichkeit über Registry wäre REG QUERY .
bye
Karo
Hier mal nen Bsp dafür, dass .Net Framework 2 SP1 installiert werden soll, wenn 2.0 installiert ist
Das MSI liegt in diesem Fall unter C:\install\Dotnet20SP1\ (also %systemdrive%\install\Dotnet20SP1\). /qb! ist für eine passive/quit Installation ohne Usereingriff (Dokus zu MSI Parameter sind u.a. im MS Technet zu finden)
Wenn Errorlevel 0, also er hat den String "Version 2.0" gefunden, dann Aufruf des MSI-Paketes. Wenn nicht wäre Errorlevel 1. Du solltest bedenken, das für Installationen Adminrechte vorhanden sein müssen!
VersionCheck.com|find /I "Version 2.0"
if errorlevel 0 start /wait %systemdrive%\install\Dotnet20SP1\NETCFSetupv2.msi /qb!
Beispiel Reg Query
Gesucht wird, ob MDAC 2.80 installiert ist, weenn ja (errorlevel 0) dann installieren
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess /v version|find /I "2.80"
if errorlevel 0 start /wait "%Systemdrive%\install\MDAC\DE\dasetup.exe" /q /n
bye
Karo
Das MSI liegt in diesem Fall unter C:\install\Dotnet20SP1\ (also %systemdrive%\install\Dotnet20SP1\). /qb! ist für eine passive/quit Installation ohne Usereingriff (Dokus zu MSI Parameter sind u.a. im MS Technet zu finden)
Wenn Errorlevel 0, also er hat den String "Version 2.0" gefunden, dann Aufruf des MSI-Paketes. Wenn nicht wäre Errorlevel 1. Du solltest bedenken, das für Installationen Adminrechte vorhanden sein müssen!
VersionCheck.com|find /I "Version 2.0"
if errorlevel 0 start /wait %systemdrive%\install\Dotnet20SP1\NETCFSetupv2.msi /qb!
Beispiel Reg Query
Gesucht wird, ob MDAC 2.80 installiert ist, weenn ja (errorlevel 0) dann installieren
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess /v version|find /I "2.80"
if errorlevel 0 start /wait "%Systemdrive%\install\MDAC\DE\dasetup.exe" /q /n
bye
Karo
Hallo MTB4ever!
Grüße
bastla
... das 2. prog was ich benötige is dao 3.5 .
Dann beschreibe einmal, woran Du erkennst, ob es (nicht) installiert ist, und danach sehen wir uns die handwerkliche Umsetzung an (obwohl - wenn Du es über die Registry feststellen kannst - Karo's Beispiel mit "MDAC 2.80" sich wahrscheinlich sehr leicht auf "DAO 3.5" übertragen lässt) ...Grüße
bastla
Hallo MTB4ever!
Versuch es mal so:
Da es keinen Wert "Version" gibt, entfällt der entsprechende Teil (/v version) der Abfrage.
Die "Daosetup.exe" kannst Du (auch ohne "call") direkt starten. Hinsichtlich des Pfades wäre allerdings zu überlegen, "C:\Dokumente und Einstellungen\user" durch "%userprofile%" zu ersetzen und damit variabler zu machen ...
Grüße
bastla
Versuch es mal so:
@echo off
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DAO.Relation.35|find /I "Microsoft DAO 3.51 Object Library Relation">nul
if errorlevel 1 "C:\Dokumente und Einstellungen\user\Desktop\DAO\Daosetup.exe"
pause
Die "Daosetup.exe" kannst Du (auch ohne "call") direkt starten. Hinsichtlich des Pfades wäre allerdings zu überlegen, "C:\Dokumente und Einstellungen\user" durch "%userprofile%" zu ersetzen und damit variabler zu machen ...
Grüße
bastla