Tôi có chương trình cần tạo tệp trong thư mục Tài liệu của tôi khi cài đặt. Đây là một yêu cầu cố định nghiêm ngặt, không có thay đổi điều này. Vấn đề là nếu người dùng thực hiện 'Chạy với tư cách quản trị viên' trên tệp Thiết lập, hằng số innosetups {userdocs} trỏ đến thư mục tài liệu của Quản trị viên không phải là người dùng đã đăng nhập ban đầu.Cách ghi vào thư mục My Documents của người dùng bằng trình cài đặt khi người dùng sử dụng 'Chạy với tư cách quản trị'
Vì vậy, google và thấy điều này:
Install files to original user's My Docs folder via Inno Setup on Windows Vista/7
Câu trả lời là sai, tuy nhiên, vì InnoSetup thậm chí khẳng định rằng
Nếu người dùng khởi động Setup bằng cách kích chuột phải vào tập tin EXE của nó và chọn "Chạy với tư cách là quản trị viên", khi đó cờ này sẽ không có hiệu lực , bởi vì Thiết lập không có cơ hội chạy bất kỳ mã nào bằng thông tin đăng nhập ban đầu của người dùng . Điều này cũng đúng nếu Thiết lập được khởi chạy từ quy trình đã được nâng cấp. Tuy nhiên, lưu ý rằng đây không phải là giới hạn dành riêng cho thiết bị của Inno ; Trình cài đặt dựa trên Windows Installer không thể quay lại thông tin xác thực người dùng ban đầu trong các trường hợp như vậy.
Tôi đoán tôi có thể khuyến khích người dùng không sử dụng Run As Administrator nhưng tôi không biết cách ngăn chặn anh ấy không được nâng cấp.
Tôi đã nghĩ đến việc có thể chương trình tự thiết lập thư mục tên My Documents \ Program trong lần chạy đầu tiên (sau khi được cài đặt). Cách giải quyết này có hoạt động không? Nó sẽ phải sao chép các tập tin từ thư mục tập tin chương trình của nó như là người dùng có khả năng hạn chế. Có thể hay tôi sẽ gặp phải vấn đề của tư nhân?
Tài liệu nào của người dùng có thể được chương trình thiết lập tạo ra? Chương trình thiết lập của bạn có phải là trình xử lý văn bản không? –