Tôi đã tạo ứng dụng .NET C# WinForms trên Win 7 RTM x64, giả sử tôi đã gọi là DataInstaller.Trợ lý tương thích chương trình cho rằng ứng dụng của tôi là trình cài đặt
Khi tôi chạy chương trình này bên ngoài trình gỡ rối (chỉ là một biểu mẫu trống không có chức năng tại thời điểm này), nó hoạt động tốt cho đến khi tôi đóng biểu mẫu. sau đó tôi nhận được một tin nhắn từ Program Compatibility Assistant nói rằng:
Chương trình này có thể không được cài đặt đúng
Sau đó tôi nhận được tùy chọn để cài đặt lại sử dụng cài đặt được đề nghị hay để nói rằng tiến trình cài đặt đã làm việc như mong đợi.
Nếu tôi đặt tên ứng dụng 'DataThingy' đây không phải là vấn đề, tôi đoán điều này liên quan đến cách chương trình được gọi * Thiết lập có biểu tượng lá chắn UAC.
Tôi cho rằng sẽ có một thứ đơn giản mà tôi có thể đặt trong tệp kê khai ứng dụng để ngăn chặn điều này?
Tôi không chắc chắn nếu điều này xảy ra trên Vista vì hiện tại tôi không có quyền truy cập.
Thay đổi tên không phải là một tùy chọn và tắt UAC không phải là một tùy chọn vì vậy, vui lòng không đề xuất điều này!
Chỉnh sửa:
OMG.
Dường như nếu bất cứ điều nào sau đây là đúng sự thật, UAC gậy chèo của nó trong:
tên Exe chứa từ Installer
AssemblyInfo.cs
AssemblyTitle contains the word 'Installer'
e.g. [assembly: AssemblyTitle("DataInstaller")]
AssemblyProduct contains the word 'Installer'
e.g. [assembly: AssemblyProduct("Data Installation Utility")]
'Installer' cũng có thể Được thiết lập'.
Nó ăn xin niềm tin, nó thực sự. Rõ ràng là một trong những lập trình viên VB6 cũ đã được chuyển đến đội UAC tại Redmond.
Tôi vẫn cần giải pháp, tôi không sẵn sàng chấp nhận rằng ứng dụng của tôi không thể được gọi là trình cài đặt vì nó không chạm vào sổ đăng ký hoặc đặt bất kỳ tệp nào trong thư mục Tệp Chương trình.
Tôi giả định rằng UAC sẽ đặt máy vào tổng số khóa nếu tôi cố gắng thực thi ứng dụng của tôi có tên là IAmAVirus.exe. (Thực ra, tôi không thử vì tôi không hoàn toàn tin rằng tôi chỉ ngớ ngẩn)
Thực ra, Windows chỉ kiểm tra tên tệp cho các từ như "thiết lập" hoặc "cài đặt" để xác định xem có cái gì đó là trình cài đặt hay không. Vâng, nó câm ... Có thể làm gì đó được không? Tôi tự hỏi ... Tốt Q, mặc dù. –
Tôi hy vọng như vậy, bởi vì đó là tất cả một chút quá 'ma thuật stringy' cho ý thích của tôi .. cảm ơn cho phiếu bầu! – Carl
@Wim - Không, có vẻ như AssemblyTitle giống như bài đăng gợi ý. Xác minh trên máy Win7 SP1 của tôi cho PackageInstaller.exe - không có vấn đề nếu tiêu đề lắp ráp là PackageNstaller –