Bonjour,
Je suis en train de terminer l'empaquetage de mon application MS-Access et pour ce faire, j'ai besoin de savoir si Access est installé sur le poste de mon client ou pas...
Ceci afin d'installer automatiquement, soit la version sans le runtime (si Access est présent), soit la version avec le Runtime (si Access n'est pas installé)
Je me casse les dents depuis quelques temps déjà avec mon fichier batch et malgré de nombreuses recherches, nombreux essais, je dois m'avouer vaincu et demander de l'aide.
Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
@echo off

REM Attribution du nom du disque courant (de la racine) à la variable "fold"  (C:, D:, ou autre)
setlocal
@for %%n in (%0) do set fold=%%~dpn
chcp 1252


REM Tentative d'ouvrir "base.accdb" (bdd vide) pour tester la présence ou non de MS-Access sur le poste du client
Start /WAIT msaccess.exe %fold%\Base.accdb 2>/dev/null

REM Interception de l'erreur:
REM 1. S'il n'y a pas d'erreur on lance l'installation sans runtime
REM 2. Si une erreur est interceptée, on installe avec le runtime

if %ERRORLEVEL% NEQ 0 (
    goto :batch2
    ) else (
    goto :batch1
    )

REM Installation sans runtime
:batch1
cls
call %fold%\Acc\Setup.exe
cls
goto :fin


REM Installation avec le runtime
:batch2
cls
call %fold%\Rnt\Setup.exe
cls
goto :fin


:fin
endlocal
exit
Quelqu'un(e) pour m'expliquer ce qui cloche dans ce code ?
En effet, le ERRORLEVEL me semble totalement inopérant...
Un grand, grand merci d'avance :-)