Altair connectからダウンロードしたインストーラが、正常にダウンロードできたかどうかをチェックするpythonスクリプトの紹介

YAMAKURA
YAMAKURA
Altair Employee
edited May 28 in Altair Exchange

Overview

Altair connectからダウンロードしたインストーラが正常にダウンロードできたかどうかをチェックするpythonスクリプトの紹介

Usage/Installation Instructions

Altair connectではインストーラが正常にダウンロードできたかどうかを確認するためのChecksumが公開されています。Checksumは下図のアイコンをクリックするとダウンロードされるファイル内に記載されています。

image

Checksumを計算する方法はいろいろありますが、今回紹介するのはpythonでダウンロードしたインストーラのChecksumを計算し、正誤を判定するものです。checksumのアルゴリズムがv2023とv2024で異なりますのでそれぞれ適切なpythonスクリプトファイルをご利用ください。
v2023用hashCheck.py をダウンロード
v2024用hashCheck.py をダウンロード

前提条件

  1. pythonがインストールされていて、python.exeのあるフォルダpathが環境変数 pathに登録されていることを前提とします。
  2. ダウンロードしたインストーラ(.exeや.zip)とChecksumのテキストファイル(.txt)が同一のフォルダ内にある。

使い方

  1. ダウンロードしたインストーラ(.exeや.zip)とChecksumのテキストファイル(.txt)を一つのフォルダにまとめておきます。(上記前提条件2)
  2. 当記事に添付したpythonスクリプト内の、"downloadPath"で定義するpath(下図のマークをした箇所) を "使い方 1." でインストーラ等を保存したフォルダのpathに変更します。
    ↓一例です。
    image
  3. コマンドプロンプトを開き、hashCheck.pyをダウンロードしたフォルダに移動し、
    >python.exe hashCheck.py
    と実行します。
    python.exeとhashCheck.pyをフルパスで記載すればどこからでも実行可能です。
    例)
    C:\Users\yamakura>"G:Program Files\python\win64\python.exe" "G:\tmp\hashCheck.py"


  4. 実行結果の表示内容

    インストーラから計算したChecksumの値とダウンロードしたChecksumが記載されたファイル内の値が異なる場合
    !!!!!!!!!!~~~.exeのハッシュは誤!!!!!!!!!!
    と表示されます。おそらくダウンロードが失敗していますので、再度当該インストーラ(~~~.exe )のダウンロードをお試しください。

    インストーラから計算したChecksumの値とダウンロードしたChecksumが記載されたファイル内の値が同じ場合
    ~~~.exeのハッシュは正
    と表示されます。当該インストーラ(~~~.exe )ダウンロードは正常におこなわれたと思われます。

    Checksumファイルがない場合
    ~~~.exeのhashファイルがないです
    と表示されます。もし、Checksumファイルをダウンロードし忘れている、または、インストーラのフォルダと別の場所にあるなどの場合は、インストーラと同一のフォルダに保存してください。
    インストーラに対応するChecksumファイルが公開されていない場合もございますので、その点ご了承ください。

  5. 実行結果の一例
    一例として弊社で実施してみた際の出力画面が下記です。
    image

    ごくまれに、何度インストーラをダウンロードし直しても「ハッシュは誤」となってしまうことがあります。その場合は時間をおいて再度インストーラのダウンロードをお試しいただけますと解決することがございます。さらにごくまれに、Checksumファイルが間違ったものが公開されていることもございますので、時間をおいても解決しない場合はサポートまでご連絡ください。

Comments

  • von_mises
    von_mises Altair Community Member
    edited April 19

    downloadPath を(hashCheck.py 本体を)毎回書き変えないと使えないのは,使い辛いのではないでしょうか.