B ‰qOA%ã @ sÀ d dl Z d dlZd dlZd dlZd dlZd dlmZmZmZm Z m Z d dlmZm Z d dlmZ d dlmZ d dlmZ dd„ Zd d „ Zdd„ Zd d„ Zddd„ZdddœZG dd„ deƒZdS )é N)ÚDistutilsExecErrorÚDistutilsPlatformErrorÚCompileErrorÚLibErrorÚ LinkError)Ú CCompilerÚgen_lib_options)Úlog)Úget_platform)Úcountc C sü yt jt jdt jt jB d} W n tk r< t d¡ dS X d}d }| ¤ xœtƒ D ]’}yt | |¡\}}}W n tk r„ P Y nX |rT|t j krTtj |¡rTytt|ƒƒ}W n ttfk rÊ wTY nX |dkrT||krT|| }}qTW W d Q R X ||fS )Nz'Software\Microsoft\VisualStudio\SxS\VC7)ÚaccesszVisual C++ is not registered)NNr é )ÚwinregZ OpenKeyExÚHKEY_LOCAL_MACHINEZKEY_READZKEY_WOW64_32KEYÚOSErrorr Údebugr Z EnumValueZREG_SZÚosÚpathÚisdirÚintÚfloatÚ ValueErrorÚ TypeError)ÚkeyÚbest_versionÚbest_dirÚiÚvZvc_dirZvtÚversion© r ú