ms_compatibility data missing from gn manifests |
|||
Issue descriptionExecutables on Windows need to have an embedded manifest which specifies what operating systems they are compatible with so that Windows will accurately report the OS version number and won't try to apply compatibility hacks. gyp builds contain these manifests but gn builds do not. This is a ship blocker. This batch file will extract and display the manifest file for the file passed to it: @setlocal @echo off call "%VS120COMNTOOLS%vsvars32.bat" >nul mt -inputresource:%1;#1 "-out:%temp%\manifest1.xml" >nul call "%temp%\manifest1.xml"
,
Apr 20 2016
setup.exe was completely missing its manifest. A quick check of full-build-win32\*.exe from builds 535 and 536 (gyp and gn) from https://build.chromium.org/p/chromium.win/builders/Win10%20Tests%20x64 shows that all 87 .exe files from build 535 had manifests, but 18 of the 83 executables from build 536 were missing manifests. setup.exe is being addressed by crrev.com/1900343005, but the other ones need fixing either individually or by a global policy change. Here is the list of executables that are missing manifests: Missing manifest for bitmaptools.exe!!! Missing manifest for character_data_generator.exe!!! Missing manifest for crashpad_database_util.exe!!! Missing manifest for d8.exe!!! Missing manifest for genmacro.exe!!! Missing manifest for genmodule.exe!!! Missing manifest for genperf.exe!!! Missing manifest for genstring.exe!!! Missing manifest for genversion.exe!!! Missing manifest for mksnapshot.exe!!! Missing manifest for mock_nacl_gdb.exe!!! Missing manifest for mojo_runner.exe!!! Missing manifest for protoc.exe!!! Missing manifest for re2c.exe!!! Missing manifest for setup.exe!!! Missing manifest for tls_edit.exe!!! Missing manifest for yasm.exe!!! The .exe manifests that do exist with gn are very standard - only chrome.exe's manifest is different (it contains version information). The gyp manifests are less standardized - the Common-Controls manifest is missing from most of them, and there is more variation in the formatting/xml namespaces. This is the component that is added to all gn manifests but is missing from most gyp manifests. <assemblyIdentity language="*" publicKeyToken="6595b64144ccf1df" processorArchitecture="*" version="6.0.0.0" name="Microsoft.Windows.Common-Controls" type="Win32"/>
,
Apr 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/3eee0c968569c726bd8ca26c0a70b929b87f1427 commit 3eee0c968569c726bd8ca26c0a70b929b87f1427 Author: brucedawson <brucedawson@chromium.org> Date: Fri Apr 22 23:47:05 2016 Fixing gn manifests for many executables Many executables are missing embedded manifest files when built with gn, and remoting_desktop is missing the OS compatibility information. This change cleans up most of these problems. BUG= 602505 Review URL: https://codereview.chromium.org/1906193002 Cr-Commit-Position: refs/heads/master@{#389306} [modify] https://crrev.com/3eee0c968569c726bd8ca26c0a70b929b87f1427/build/secondary/third_party/crashpad/crashpad/tools/BUILD.gn [modify] https://crrev.com/3eee0c968569c726bd8ca26c0a70b929b87f1427/chrome/browser/nacl_host/test/BUILD.gn [modify] https://crrev.com/3eee0c968569c726bd8ca26c0a70b929b87f1427/remoting/host/BUILD.gn [modify] https://crrev.com/3eee0c968569c726bd8ca26c0a70b929b87f1427/third_party/WebKit/Source/platform/BUILD.gn [modify] https://crrev.com/3eee0c968569c726bd8ca26c0a70b929b87f1427/third_party/protobuf/BUILD.gn [modify] https://crrev.com/3eee0c968569c726bd8ca26c0a70b929b87f1427/third_party/yasm/BUILD.gn
,
Apr 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f9f7d629721ad9c14b1053e373436f2f3292f92d commit f9f7d629721ad9c14b1053e373436f2f3292f92d Author: brucedawson <brucedawson@chromium.org> Date: Wed Apr 27 19:11:07 2016 Add manifests to many more gn built exe files About 80 exe files were still missing manifests when doing gn builds (as tested with a debug gn 64-bit build with no target specified, if that matters) and this adds manifests for all except two pdfium binaries. Because the manifests include OS compatibility information it is important to have them in order to prevent Windows from doing bizarre backwards compatibility hacks. BUG= 602505 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_optional_gpu_tests_rel;tryserver.chromium.mac:mac_optional_gpu_tests_rel;tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/1925493002 Cr-Commit-Position: refs/heads/master@{#390145} [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/ash/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/base/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/build/secondary/third_party/crashpad/crashpad/handler/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/chrome/installer/test/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/chrome/test/chromedriver/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/chrome/tools/convert_dict/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/chrome_elf/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/components/test_runner/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/components/wifi/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/content/shell/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/courgette/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/extensions/shell/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/gin/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/google_apis/gcm/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/gpu/gles2_conform_support/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/mash/example/window_type_launcher/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/media/cast/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/net/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/ppapi/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/remoting/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/remoting/host/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/remoting/test/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/rlz/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/services/shell/runner/child/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/services/shell/standalone/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/services/shell/tests/connect/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/services/shell/tests/lifecycle/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/services/shell/tests/shell/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/storage/browser/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/sync/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/third_party/codesighs/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/third_party/opus/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/third_party/qcms/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/tools/battor_agent/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/tools/gn/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/tools/imagediff/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/tools/perf/clear_system_cache/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/ui/aura/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/ui/views/examples/BUILD.gn [modify] https://crrev.com/f9f7d629721ad9c14b1053e373436f2f3292f92d/win8/BUILD.gn
,
May 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/fd6b609830987e010cf2402ecc6c66be0082a87f commit fd6b609830987e010cf2402ecc6c66be0082a87f Author: brucedawson <brucedawson@chromium.org> Date: Mon May 02 17:10:11 2016 Adding default_exe_manifest to 42 binaries gn builds are missing Windows manifests for the boringssl test binaries. These manifests are necessary in order to get predictable behavior on Windows. BUG= 602505 Review-Url: https://codereview.chromium.org/1936803002 Cr-Commit-Position: refs/heads/master@{#390974} [modify] https://crrev.com/fd6b609830987e010cf2402ecc6c66be0082a87f/third_party/boringssl/BUILD.gn
,
May 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5a142208e33329b5b88d3d82d87aa6df31101e5f commit 5a142208e33329b5b88d3d82d87aa6df31101e5f Author: catapult-deps-roller <catapult-deps-roller@chromium.org> Date: Mon May 02 18:40:16 2016 Roll src/third_party/catapult/ 623cc4a59..ec52dceb6 (1 commit). https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/623cc4a59608..ec52dceb68f8 $ git log 623cc4a59..ec52dceb6 --date=short --no-merges --format='%ad %ae %s' BUG= 602505 TBR=catapult-sheriff@chromium.org Review-Url: https://codereview.chromium.org/1942923002 Cr-Commit-Position: refs/heads/master@{#391007} [modify] https://crrev.com/5a142208e33329b5b88d3d82d87aa6df31101e5f/DEPS
,
May 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a7b49810b22ebaed37a9290809dd6f21ae6bf453 commit a7b49810b22ebaed37a9290809dd6f21ae6bf453 Author: ochang <ochang@chromium.org> Date: Mon May 02 20:06:38 2016 Roll PDFium 76c5379..a86d113 https://pdfium.googlesource.com/pdfium.git/+log/76c5379..a86d113 BUG=62400,589955, 607625 , 596947 , 602505 , 607739 TBR=dsinclair@chromium.org Review-Url: https://codereview.chromium.org/1938013002 Cr-Commit-Position: refs/heads/master@{#391037} [modify] https://crrev.com/a7b49810b22ebaed37a9290809dd6f21ae6bf453/DEPS
,
May 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bc9b39fc8203807b649b3b773f786bf2c8628f0f commit bc9b39fc8203807b649b3b773f786bf2c8628f0f Author: brucedawson <brucedawson@chromium.org> Date: Tue May 03 06:20:24 2016 Adding default_exe_manifest to one binary gn builds are missing Windows manifests for bluetooth_metrics_hash.exe. This manifest is necessary in order to get predictable behavior on Windows. BUG= 602505 Review-Url: https://codereview.chromium.org/1942513002 Cr-Commit-Position: refs/heads/master@{#391179} [modify] https://crrev.com/bc9b39fc8203807b649b3b773f786bf2c8628f0f/content/browser/bluetooth/tools/BUILD.gn
,
May 3 2016
A check of all .exe files generated by an x86 debug component gn build with enable_nacl = false shows that all binaries now have manifests. Now testing with enable_nacl = true.
,
May 5 2016
Three CLs got tagged to 604060 instead of to this bug. These three pasted finished fixing this bug. Details below: #1: https://codereview.chromium.org/1947953002 #2: The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/1a86e1e5cef109674814b73cfd606acf6152f2cc commit 1a86e1e5cef109674814b73cfd606acf6152f2cc Author: brucedawson <brucedawson@chromium.org> Date: Thu May 05 05:17:42 2016 Add default manifest for gn nacl64.exe BUG= 602505 Review-Url: https://codereview.chromium.org/1945343002 Cr-Commit-Position: refs/heads/master@{#391763} [modify] https://crrev.com/1a86e1e5cef109674814b73cfd606acf6152f2cc/components/nacl/broker/BUILD.gn #3: The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a51aab488fc2426706646f5d749e54ce8f979fcd commit a51aab488fc2426706646f5d749e54ce8f979fcd Author: nacl-deps-roller <nacl-deps-roller@chromium.org> Date: Thu May 05 06:27:47 2016 Roll src/native_client/ 756d2979a..7965517f3 (1 commit). https://chromium.googlesource.com/native_client/src/native_client.git/+log/756d2979ac26..7965517f3877 $ git log 756d2979a..7965517f3 --date=short --no-merges --format='%ad %ae %s' 2016-05-04 brucedawson Add default Windows manifest to four .gn executables BUG= 602505 CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_dbg_32_ng,linux_nacl_sdk_build TBR=mseaborn@chromium.org Review-Url: https://codereview.chromium.org/1947043003 Cr-Commit-Position: refs/heads/master@{#391771} [modify] https://crrev.com/a51aab488fc2426706646f5d749e54ce8f979fcd/DEPS
,
Jun 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c3f7f1c64c5f4d8f865e5e1b3a4072af8f096734 commit c3f7f1c64c5f4d8f865e5e1b3a4072af8f096734 Author: brucedawson <brucedawson@chromium.org> Date: Wed Jun 01 01:21:11 2016 Adding missing manifests to gn-built executable Many executables are missing embedded manifest files when built with gn. This causes OS compatibility information to be omitted which can lead to strange behavior. This adds a manifest to it2me_standalone_host_main.exe. BUG= 602505 Review-Url: https://codereview.chromium.org/2023943005 Cr-Commit-Position: refs/heads/master@{#397011} [modify] https://crrev.com/c3f7f1c64c5f4d8f865e5e1b3a4072af8f096734/remoting/test/BUILD.gn
,
Jun 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d64a9dbc5611dcab7a850f8bbadfcc12d6e7b465 commit d64a9dbc5611dcab7a850f8bbadfcc12d6e7b465 Author: brucedawson <brucedawson@chromium.org> Date: Wed Jun 01 03:31:15 2016 Adding missing manifest to gn-built app_list_demo Many executables are missing embedded manifest files when built with gn. This causes OS compatibility information to be omitted which can lead to strange behavior. This adds a manifest to app_list_demo.exe. BUG= 602505 Review-Url: https://codereview.chromium.org/2027753002 Cr-Commit-Position: refs/heads/master@{#397042} [modify] https://crrev.com/d64a9dbc5611dcab7a850f8bbadfcc12d6e7b465/ui/app_list/BUILD.gn
,
Jun 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/04b26cac6e20af2aff50b8a064691c605d79ae13 commit 04b26cac6e20af2aff50b8a064691c605d79ae13 Author: brucedawson <brucedawson@chromium.org> Date: Wed Jun 01 03:47:43 2016 Adding missing manifests to gn-built bro.exe Many executables are missing embedded manifest files when built with gn. This causes OS compatibility information to be omitted which can lead to strange behavior. This adds a manifest to bro.exe. BUG= 602505 Review-Url: https://codereview.chromium.org/2028743002 Cr-Commit-Position: refs/heads/master@{#397044} [modify] https://crrev.com/04b26cac6e20af2aff50b8a064691c605d79ae13/third_party/brotli/BUILD.gn
,
Jun 4 2016
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/ac03c63c28cd08eb717566166ffb667a741ee71a commit ac03c63c28cd08eb717566166ffb667a741ee71a Author: brucedawson <brucedawson@chromium.org> Date: Sat Jun 04 06:28:01 2016 Add standard Windows manifest to five v8 executables Many executables are missing embedded manifest files when built with gn. This causes OS compatibility information to be omitted which can lead to strange behavior. This change adds a manifest to: v8_simple_json_fuzzer.exe v8_simple_parser_fuzzer.exe v8_simple_regexp_fuzzer.exe v8_simple_wasm_asmjs_fuzzer.exe v8_simple_wasm_fuzzer.exe BUG= chromium:602505 Review-Url: https://codereview.chromium.org/2040623003 Cr-Commit-Position: refs/heads/master@{#36725} [modify] https://crrev.com/ac03c63c28cd08eb717566166ffb667a741ee71a/BUILD.gn
,
Jun 6 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b3549d99adfdb28aba83dcbdd75ae594398294bd commit b3549d99adfdb28aba83dcbdd75ae594398294bd Author: brucedawson <brucedawson@chromium.org> Date: Mon Jun 06 19:20:11 2016 Adding missing manifests to gn-built executables Many executables are missing embedded manifest files when built with gn. This causes OS compatibility information to be omitted which can lead to strange behavior. This adds manifests to two executables. TBR=reed@google.com BUG= 602505 Review-Url: https://codereview.chromium.org/2021113003 Cr-Commit-Position: refs/heads/master@{#398087} [modify] https://crrev.com/b3549d99adfdb28aba83dcbdd75ae594398294bd/skia/BUILD.gn |
|||
►
Sign in to add a comment |
|||
Comment 1 by brucedaw...@chromium.org
, Apr 12 2016