-
Notifications
You must be signed in to change notification settings - Fork 13.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevent UAC blocking certain test executables on 32-bit Windows. #21496
Conversation
…t test executables containing certain substrings (e.g. 'install', 'setup', 'update', 'patch') are not blocked by UAC's Installer Detection Technology.
(rust_highfive has picked a reviewer for you, use r? to override) |
Purposefully made no attempt to only set this under Windows, for simplicity, under the assumption that it is meaningless on all other platforms in the context of running tests. (Oh and because the apparently OSX specific workaround on the line above looks way worse!) |
Interesting! Seems like a nice easy fix for now to me :) |
This seems "complete" fix of UAC issues what we've haven! I think teaching manifest to rustc is too magical, since it becomes complicated when someone wants to embed their own manifest/resource. |
Make compiletest set an environment variable so that on Windows 32-bit test executables containing certain substrings (e.g. 'install', 'setup', 'update', 'patch') are not blocked by UAC's Installer Detection Technology.
There really isn't anything magical about manifests; they're just a bit of XML that gets included in your application. If someone wants to use their own manifest (or other resources) there's no reason Rust couldn't provide an option to make that possible. Anyway lets not discuss this here, because I've opened a new issue in RFCs to figure out how to tackle this: rust-lang/rfcs#721. It'll probably be some time before a plan comes together on that though, so in the meantime this trivial fix should do the job nicely for making the tests pass as they should! |
Make compiletest set an environment variable so that on Windows 32-bit test executables containing certain substrings (e.g. 'install', 'setup', 'update', 'patch') are not blocked by UAC's Installer Detection Technology.