Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Side by Side Diff: visual_studio/NativeClientVSAddIn/InstallerResources/install.py

Issue 153163002: [VSAddin] Don't require both 2010 and 2012 to be installed. (Closed) Base URL: https://nativeclient-sdk.googlecode.com/svn/trunk/src
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Copies necessary add-in files into place to install the add-in. 6 """Copies necessary add-in files into place to install the add-in.
7 7
8 This script will copy the necessary files for the Visual Studio add-in 8 This script will copy the necessary files for the Visual Studio add-in
9 to where Visual Studio can find them. It assumes the current directory 9 to where Visual Studio can find them. It assumes the current directory
10 contains the necessary files to copy. 10 contains the necessary files to copy.
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 109
110 print "\nInstalling Add-in: %s" % vsuser_path 110 print "\nInstalling Add-in: %s" % vsuser_path
111 # Copy the necessary files into place. 111 # Copy the necessary files into place.
112 for file_name in ADDIN_FILES: 112 for file_name in ADDIN_FILES:
113 shutil.copy(os.path.join(SCRIPT_DIR, vs_version, file_name), addin_dir) 113 shutil.copy(os.path.join(SCRIPT_DIR, vs_version, file_name), addin_dir)
114 114
115 print "Add-in installed." 115 print "Add-in installed."
116 116
117 117
118 def InstallMSBuildPlatforms(platform_root): 118 def InstallMSBuildPlatforms(platform_root):
119 if not os.path.exists(platform_root): 119 if not os.path.exists(platform_root):
binji 2014/02/03 21:46:41 This is superfluous now, right?
Sam Clegg 2014/02/03 22:44:54 Yes, but still probably a good sanity check.
120 raise InstallError("Could not find path: %s" % platform_root) 120 raise InstallError("Could not find path: %s" % platform_root)
121 121
122 if not os.access(platform_root, os.W_OK): 122 if not os.access(platform_root, os.W_OK):
123 # Admin is needed to write to the default platform directory. 123 # Admin is needed to write to the default platform directory.
124 if ctypes.windll.shell32.IsUserAnAdmin() != 1: 124 if ctypes.windll.shell32.IsUserAnAdmin() != 1:
125 raise InstallError("Not running as administrator. The install script " 125 raise InstallError("Not running as administrator. The install script "
126 "needs write access to protected Visual Studio " 126 "needs write access to protected Visual Studio "
127 "directories.") 127 "directories.")
128 raise InstallError("install script needs write access to: %s" 128 raise InstallError("install script needs write access to: %s"
129 % platform_root) 129 % platform_root)
(...skipping 29 matching lines...) Expand all
159 print "%s platform installed." % NACL64_PLATFORM 159 print "%s platform installed." % NACL64_PLATFORM
160 160
161 shutil.copytree(os.path.join(SCRIPT_DIR, NACLARM_PLATFORM), nacl_dir_arm) 161 shutil.copytree(os.path.join(SCRIPT_DIR, NACLARM_PLATFORM), nacl_dir_arm)
162 print "%s platform installed." % NACLARM_PLATFORM 162 print "%s platform installed." % NACLARM_PLATFORM
163 163
164 shutil.copytree(os.path.join(SCRIPT_DIR, PNACL_PLATFORM), pnacl_dir) 164 shutil.copytree(os.path.join(SCRIPT_DIR, PNACL_PLATFORM), pnacl_dir)
165 print "PNaCl platform installed." 165 print "PNaCl platform installed."
166 166
167 167
168 def InstallMSBuild(): 168 def InstallMSBuild():
169
170 # Ask user before installing PPAPI template. 169 # Ask user before installing PPAPI template.
171 if options.install_ppapi is None: 170 if options.install_ppapi is None:
172 ppapi_answer = Ask("Set up configuration to enable Pepper development " 171 ppapi_answer = Ask("Set up configuration to enable Pepper development "
173 "with Visual Studio?\n" 172 "with Visual Studio?\n"
174 "((Yes)) - I want to create and copy relevant files into a " 173 "((Yes)) - I want to create and copy relevant files into a "
175 "Pepper subdirectory\n" 174 "Pepper subdirectory\n"
176 "((No)) - I am not interested or will set up the configuration later") 175 "((No)) - I am not interested or will set up the configuration later")
177 if ppapi_answer: 176 if ppapi_answer:
178 options.install_ppapi = True 177 options.install_ppapi = True
179 print "Confirmed installer will include PPAPI platform." 178 print "Confirmed installer will include PPAPI platform."
180 else: 179 else:
181 options.install_ppapi = False 180 options.install_ppapi = False
182 print "Will not install PPAPI platform during installation." 181 print "Will not install PPAPI platform during installation."
183 182
184 if not os.path.exists(options.msbuild_path): 183 if not os.path.exists(options.msbuild_path):
185 raise InstallError("Could not find MS Build directory: %s" % ( 184 raise InstallError("Could not find MS Build directory: %s" % (
186 options.msbuild_path)) 185 options.msbuild_path))
187 186
188 root_2010 = os.path.join(options.msbuild_path, 187 root_2010 = os.path.join(options.msbuild_path,
189 'Microsoft.Cpp', 'v4.0', 'Platforms') 188 'Microsoft.Cpp', 'v4.0', 'Platforms')
190 InstallMSBuildPlatforms(root_2010)
191
192 root_2012 = os.path.join(options.msbuild_path, 189 root_2012 = os.path.join(options.msbuild_path,
193 'Microsoft.Cpp', 'v4.0', 'V110', 'Platforms') 190 'Microsoft.Cpp', 'v4.0', 'V110', 'Platforms')
194 InstallMSBuildPlatforms(root_2012) 191
192 if not os.path.exists(root_2012) and not os.path.exists(root_2010):
193 raise InstallError("MSBuild paths for Visual Studio 2010 and "
194 "2012 are missing.\n"
195 "Please install one or both before installing this "
196 "AddIn.\n"
197 "(%s)\n"
198 "(%s)\n" % (root_2010, root_2012))
199
200 if os.path.exists(root_2010):
201 InstallMSBuildPlatforms(root_2010)
202
203 if os.path.exists(root_2012):
204 InstallMSBuildPlatforms(root_2012)
195 205
196 if options.install_ppapi: 206 if options.install_ppapi:
197 pepper_dir = os.path.join(root_2010, PEPPER_PLATFORM) 207 pepper_dir = os.path.join(root_2010, PEPPER_PLATFORM)
198 pepper_dir2 = os.path.join(root_2012, PEPPER_PLATFORM) 208 pepper_dir2 = os.path.join(root_2012, PEPPER_PLATFORM)
199 UninstallDirectory(pepper_dir) 209 UninstallDirectory(pepper_dir)
200 UninstallDirectory(pepper_dir2) 210 UninstallDirectory(pepper_dir2)
201 create_ppapi_platform.CreatePPAPI(options.msbuild_path) 211 create_ppapi_platform.CreatePPAPI(options.msbuild_path)
202 print "PPAPI platform installed." 212 print "PPAPI platform installed."
203 213
204 214
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 print e 337 print e
328 print("The install script failed to write to the files mentioned above") 338 print("The install script failed to write to the files mentioned above")
329 if ctypes.windll.shell32.IsUserAnAdmin() != 1: 339 if ctypes.windll.shell32.IsUserAnAdmin() != 1:
330 print("Please try running as administrator.") 340 print("Please try running as administrator.")
331 else: 341 else:
332 print("Please check for any running programs that might " 342 print("Please check for any running programs that might "
333 "have them locked.") 343 "have them locked.")
334 else: 344 else:
335 raise 345 raise
336 sys.exit(rtn) 346 sys.exit(rtn)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698