2016-09-11 11 views
1

私はPythonでユーザーのHWIDを取得するための短いスクリプトを作成しています。 Pythonをインストールしていないコンピュータではスクリプトを実行できないので、pyinstallerを使って.exeファイルに変換しました。別のコンピュータにpyinstaller .exeファイルを実行しているときに.dllが見つからない

ここ
The procedure entry point ucrtbase.terminate could not be located in the dynamic link library api-ms-win-crt-runtime-l1-1-0.dll. 

がある私は.exeファイルに変換する方法:私は私のラップトップ上で.exeファイルを実行しようとしたとき

しかし、それはエラーメッセージを表示します(Windowsの究極の7を実行しているとPythonがインストールされていません) 、ちょうどin-case私は間違っているよ。

コード:

import subprocess 
import hashlib 
import time 
def addToClipBoard(text): 
    command = 'echo ' + text.strip() + '| clip' 
    os.system(command) 
x = subprocess.check_output('wmic csproduct get UUID') #gets UUID from pc 
x = x[42:] # removes unnecessary parts of string 
x = x[:-9] # removes unnecessary parts of string 
hash_object = hashlib.sha512(x) # Converts to sha512 hash 
hex_dig = hash_object.hexdigest() # Converts hash to hex-decimal string 
os.system("title HWID tool") 
os.system("color 4e") 
print("Your protected hardware ID is") 
print(hex_dig) 
time.sleep(3) 
print("This has been automatically saved to your clipboard.") 
addToClipBoard(hex_dig) #saves hex decimal string to clipboard. 

私がCMDに行くよりも、正しいディレクトリに確認イムを作成し、これを実行します。

注:私のラップトップで.exeファイルを実行するとエラーが発生します。コンピュータで実行しているときにエラーが表示されず、.exeに変換されました。

私はそれをコンパイルしたコンピュータとラップトップはどちらも64bit、Windows 7の究極のマシンです。

EDIT:私の友人のコンピュータで動作しますが、Pythonがインストールされています。

このエラーが発生する理由と解決方法を教えてください。

+0

エラーメッセージはあまり明確ではありません。 DLLが完全に見つからないか、または存在しますが、シンボルをエクスポートできませんか?あなたのWindows 7マシンにすべてのWindowsアップデートをインストールしましたか? – IInspectable

+0

Windows 7では、CRT APIセットは実際のDLL(Windows 10では仮想)であり、エクスポートされた関数をucrtbase.dllの実装に転送します。おそらく、PyInstallerがucrtbase.dllをインクルードするほどスマートではなかったように見えます。何らかの理由で、Windows 7のラップトップがユニバーサルCRTアップデートで最新ではない場合があります。マイクロソフトでは、このCRTをWindows Vista、7、および8(XPではなく)のOSコンポーネントとして自動的に更新しています。 – eryksun

答えて

0

@eryksunが指摘しているように、問題は不明なVisual C++ 2015 Redistributableです。しかし、2015年7月10日に出版されたので、必ずしも更新の問題であるかどうかはわかりません。

私は最近、コンパイル済みの.EXE前再配布をインストールする(api-ms-win-crt-runtime-l1-1-0.dllエラーで)働いて、それをインストールした後でしたしませんでした&更新されたWindows 7のx64コンピュータをインストールで同じ問題を抱えていました。

関連する問題