a XC?h'N @ s d dl Z d dlZd dlZd dlmZmZmZmZmZ d dl m Z mZ d dlm Z d dlmZ d dlmZ dd Zd d Zddd ddZdd Zdd ZdddZdddddZG dd de ZdS ) N)DistutilsExecErrorDistutilsPlatformErrorCompileErrorLibError LinkError) CCompilergen_lib_options)log)get_platform)countc C s zt jt jdt jt jB d} W n ty< td Y dS 0 d}d }| t D ]}zt | |\}}}W n ty Y qY n0 |rR|t j krRtj |rRztt|}W n ttfy Y qRY n0 |dkrR||krR|| }}qRW d n1 s0 Y ||fS )Nz'Software\Microsoft\VisualStudio\SxS\VC7)accesszVisual C++ is not registeredNNr )winregZ OpenKeyExHKEY_LOCAL_MACHINEZKEY_READZKEY_WOW64_32KEYOSErrorr debugr Z EnumValueZREG_SZospathisdirintfloat ValueError TypeError)keybest_versionbest_dirivZvc_dirZvtversion r