Khi tôi biên dịch ứng dụng trong studio hình ảnh 2012 RC, tôi có thể thấy thư mục bin\
được tạo trong thư mục nguồn dự án như dự kiến, trong đó có một foo.exe, trông giống như mục nhập của ứng dụng. Khi tôi bắt đầu gỡ lỗi các ứng dụng, biểu tượng của nó được đặt trên màn hình bắt đầu và tôi có thể tìm thấy một thư mục mới được tạo ra tạitriển khai ứng dụng windows 8
C: \ Users \ ai \ AppData \ Local \ Packages \ xxxxx_xxxxxx
Nhưng tôi không thể tìm thấy foo.exe trong thư mục này, ngay cả sau khi tôi tìm kiếm toàn bộ đĩa. Có vẻ như ứng dụng win8 có cơ chế cài đặt/triển khai khác với các chương trình windows cũ. Câu hỏi của tôi là:
(1) cách/nơi ứng dụng win8 được triển khai/cài đặt?
(2) Tôi muốn sử dụng \AppData\Local\Packages\xxxxx_xxxxxx\LocalState
làm thư mục dữ liệu cục bộ (bằng ApplicationData.Current.LocalFolder
trong mã), nhưng toàn bộ thư mục bị xóa khi nhấp chuột phải vào biểu tượng màn hình bắt đầu và nhấn "gỡ cài đặt". Bất kỳ nơi nào tốt hơn để lưu trữ dữ liệu cục bộ? Hoặc tôi cần SQLite? Ví dụ: ứng dụng của tôi viết tất cả các thông báo lỗi trong error.txt
, rõ ràng là tôi không thể sử dụng sqlite trong trường hợp này và nếu tôi đặt error.txt
trong thư mục LocalState, người dùng có thể đã gỡ cài đặt ứng dụng, trước khi tôi truy cập ứng dụng để xem nội dung trong số error.txt
. Một kịch bản khác là: người dùng muốn gỡ cài đặt ứng dụng nhưng giữ dữ liệu cục bộ của mình (tệp). Rõ ràng ApplicationData.Current.LocalFolder không phải là một lựa chọn tốt.
Nhưng câu hỏi của tôi là: 'Windows.Storage.ApplicationData.Current.LocalFolder' bị xóa mà không cần cảnh báo, khi người dùng nhấp chuột phải vào biểu tượng ứng dụng và chọn gỡ cài đặt. Nó không thích hợp cho ứng dụng của tôi. Tôi muốn một nơi an toàn hơn. –
Ứng dụng Metro theo thiết kế không hỗ trợ trường hợp này. Dung lượng lưu trữ riêng biệt là truy cập ghi duy nhất bạn nhận được vào hệ thống tệp mà không cần triển khai trình khám phá tệp. Nếu bạn muốn lưu dữ liệu này ngay cả sau khi cài đặt sẽ phải xem xét gia tăng đồng bộ hóa nó với một "dịch vụ đám mây" và cập nhật ứng dụng khi nó được cài đặt lại. – LewisBenge