GUID を使用して識別されない特定のバージョンがまだない場合、ソフトウェアをコンピューターのグループに展開してインストーラーを実行しようとしています。私がやろうとしていることの例として、GUID を使用しない Adobe バージョンを使用します。
彼らが Adobe 9.3 を持っていて、Adobe 9.5 が必要だとしましょう。そのため、現在インストールされているバージョンを識別する 2 つの dword の 1 つをチェックします。現在のコードは次のとおりです: (テストにエコー応答を使用)
:check1
@ECHO OFF
setlocal
set key="HKLM\Software\Wow6432Node\Adobe\Adobe Acrobat\9.0\Installer"
set value=VersionMax
:: delims is a TAB followed by a space
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY %key% /v %value%') DO SET base=%%B
if %base%=0x90005 && goto echo1 || goto echo2
:echo1
echo "Yes"
:echo2
echo "No"
したがって、echo1 = True で、次の dword チェックに進みます (キー = は同じですが、別の dword であるため値 = が異なります)。それも一致する場合は、インストーラーをスキップします。そうでない場合は、インストーラーに移動します。echo2 = False dword でインストーラーを実行します。
私はこのプロセスでうまくいきませんでした.VBscriptを使用する必要があると言われました...しかし、cmdで可能であると言われ、それが私が好むものです. これについての助けをいただければ幸いです。ありがとうございました