1693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org#!/usr/bin/env python 2693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# 3693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. 4693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# 5693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# Use of this source code is governed by a BSD-style license 6693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# that can be found in the LICENSE file in the root of the source 7693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# tree. An additional intellectual property rights grant can be found 8693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# in the file PATENTS. All contributing project authors may 9693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org# be found in the AUTHORS file in the root of the source tree. 10693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 11693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org"""Searches for DirectX SDK installation and prints full path to it.""" 12693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 13693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.orgimport os 14693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.orgimport subprocess 15693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.orgimport sys 16693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 17693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 18693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.orgdef main(): 19693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org sys.stdout.write(FindDirectXInstallation()) 20693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org return 0 21693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 22693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 23693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.orgdef FindDirectXInstallation(): 24693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org """Try to find an installation location for the DirectX SDK. Check for the 25693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org standard environment variable, and if that doesn't exist, try to find 26693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org via the registry. Returns empty string if not found in either location.""" 27693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 28693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org dxsdk_dir = os.environ.get('DXSDK_DIR') 29693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org if dxsdk_dir: 30693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org return dxsdk_dir 31693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 32693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org # Setup params to pass to and attempt to launch reg.exe. 33693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org cmd = ['reg.exe', 'query', r'HKLM\Software\Microsoft\DirectX', '/s'] 34693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 35693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org for line in p.communicate()[0].splitlines(): 36693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org if 'InstallPath' in line: 37693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org return line.split(' ')[3] + "\\" 38693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 39693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org return '' 40693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 41693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org 42693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.orgif __name__ == '__main__': 43693e01c9103b21d952f3c7f2bebc87103a03c531kjellander@webrtc.org sys.exit(main()) 44