Điều đó có thể thực hiện được, nhưng không dễ để giải thích.
Chỉ có ba lý do tại sao một ứng dụng sẽ yêu cầu nâng cao khi khởi động:
- các khả năng xử lí tab có "Chạy chương trình này như một quản trị viên"
- ứng dụng có một bảng kê khai (được nhúng hoặc bên ngoài) được chỉ định
requireAdministrator
- có một bản cập nhật tương thích từ Microsoft đã đánh dấu nó là quản trị viên cần thiết
Giả sử bạn đã kiểm tra tab tương thích và ứng dụng không được đặt để yêu cầu quản trị viên:
Bước tiếp theo là kiểm tra một bảng kê khai tài nguyên nhúng. tôi sẽ không đi vào làm thế nào bạn có thể tìm ra điều đó. Nhưng bỏ qua để tạo một bản kê khai cho chính mình.
Tạo một tệp trong cùng thư mục với Fallout Mod Manager (tôi không biết cái gì exe
được gọi, nhưng tôi sẽ gọi nó FalloutModManager.exe
:
FalloutModManager.exe FalloutModManager.exe.manifest
manifest
Tệp mới này bạn tạo là một tệp văn bản đơn giản, chứa xml, với một mục nhập bảng kê khai nói rằng chúng tôi muốn khởi chạy asInvoker , thay vì yêu cầuAdAd :
FalloutModManager.exe.manifest
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="client"
type="win32" />
<description>Poorly written Fallout Mod Manager fails on XP as standard user</description>
<!-- Disable file and registry virtualization, and don't require elevation -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Có tệp này bên cạnh tệp thực thi của bạn được gọi là "bảng kê khai bên ngoài ". Cũng có thể thực thi có một tài nguyên được nhúng, mà bạn sẽ cần một công cụ như Resource Hacker để xem hoặc sửa đổi.