2010-01-05 16 views
5

Tôi có tệp kê khai sau được nhúng trong ứng dụng VB6.Tại sao bản kê khai ứng dụng VB6 của tôi bị bỏ qua trên các máy 64bit?

<?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="ExeName" 
type="win32"/> 
<description>elevate execution level</description> 
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
    <requestedPrivileges> 
     <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> 
    </requestedPrivileges> 
    </security> 
</trustInfo> 
</assembly> 

Trên máy chủ 32 bit 2008, tệp này xuất hiện chính xác với lớp phủ biểu tượng "Quản trị lá chắn" và chỉ có thể chạy với tư cách quản trị viên. Trên 64bit Server 2008, cùng một tệp không có lớp phủ biểu tượng và có thể chạy bình thường.

Tôi đã thử thay đổi bộ xử lýArchitecture = "X86" thành cả "*" và "ia64" và cũng xóa tệp kê khai khỏi ứng dụng đã biên dịch và hiển thị dưới dạng tệp kê khai bên ngoài, tất cả đều không có sẵn.

Bất kỳ suy nghĩ nào được biết ơn sâu sắc.

+0

Bạn có đăng nhập vào Windows bằng tên người dùng "Quản trị viên" không? Cá nhân, tôi đã thấy rằng dấu nhắc UAC bị bỏ qua khi chạy chương trình trong khi đăng nhập là "Quản trị viên". – jveazey

Trả lời

1

Bởi vì thuộc tính processorArchitecture bạn chỉ ra rằng nó là một máy 32bit.

+0

Sự hiểu biết của tôi từ đọc khác là bộ xử lýArchitechture đại diện cho kiến ​​trúc mà .exe được biên dịch, không phải là nó đang chạy trên đó. Nếu nó là sau này nó sẽ ngụ ý rằng bạn cần các biểu hiện riêng biệt cho các máy kiến ​​trúc khác nhau. Ngoài ra, thay đổi nó không tạo ra sự khác biệt ...! Dù sao cũng cảm ơn bạn. – Matt

Các vấn đề liên quan