Tôi đã viết một ứng dụng và tôi muốn thêm một số đăng ký/số sêri vào nó (Tôi lớn về sự bất tiện tối thiểu - ala # 4 tại this Eric Sink article). Câu hỏi của tôi là về nơi lưu trữ "kích hoạt" khi ứng dụng đã được đăng ký. Như tôi đã hiểu, tôi có một sự cân bằng giữa việc lưu trữ khóa ở nơi công cộng, nơi tất cả người dùng có thể đọc nó (nhưng yêu cầu quyền quản trị để lưu ở đó) và lưu trữ kích hoạt mỗi người dùng (nhưng sau đó mỗi người dùng trên máy tính sẽ phải kích hoạt độc lập). Điều đó mang lại cho tôi hai lựa chọn:Tôi nên lưu trữ khóa "kích hoạt" của ứng dụng ở đâu?
- Một số người dùng, với quyền quản trị cục bộ, kích hoạt sản phẩm. Kích hoạt được lưu trữ trong HKLM, trong thư mục tệp chương trình hoặc ở nơi khác mà tất cả người dùng có thể đọc nó và sản phẩm được kích hoạt cho tất cả người dùng.
- Người dùng (có hoặc không có quyền quản trị) kích hoạt sản phẩm. Kích hoạt được lưu trữ ở đâu đó tập trung vào người dùng (app.config cho mỗi người dùng, HKCU, v.v.). Điểm cộng là người dùng không phải là quản trị viên. Nhược điểm là nếu có 6 người dùng sử dụng máy tính, mỗi người phải kích hoạt sản phẩm. Họ có thể tái sử dụng cùng một nối tiếp, nhưng họ vẫn phải nhập nó.
Đây thực sự là sự cân bằng? Nếu có, những người khác đã làm gì? Là một nhà phát triển, tôi quen với những người là quản trị viên địa phương, nhưng trong thế giới thực, tôi không mong đợi nhiều người dùng doanh nghiệp của mình trở thành quản trị viên cục bộ, điều này khiến tôi nghiêng về tùy chọn 2. Máy tính không được chia sẻ thường xuyên đủ mà tôi không nên quan tâm?
Một lần nữa, tôi không hỏi về cách đăng ký vật lý máy tính - tôi không lo lắng về điều đó. Tôi sẽ chỉ kiểm tra chìa khóa được cung cấp và cung cấp cho đi-trước, như tôi muốn được như không xâm lấn nhất có thể.
Nhưng thật đáng ngại khi đăng ký cùng một ứng dụng lặp lại trên cùng một máy tính cho những người dùng khác nhau! Tôi coi đây là một lỗ hổng trong thiết kế ứng dụng. –
Vâng, một giải pháp mà chúng tôi đã sử dụng là đặt thông tin kích hoạt vào sổ đăng ký người dùng hiện tại, sau đó nếu quyền quản trị có sẵn, hãy đặt nó trong máy cục bộ. Nếu quyền quản trị có sẵn, không có người dùng dùng chung nào trên máy bị phức tạp. Nếu không có quyền quản trị viên, mỗi người dùng được yêu cầu kích hoạt một lần. –
Tôi thích ý tưởng ít nhất là lưu trữ nó trong HKCU, và sau đó cũng trong HKLM nếu người dùng có quyền quản trị. Điều đó có vẻ như sự bất tiện tối thiểu - đăng ký sẽ không * yêu cầu * quyền quản trị, nhưng sẽ tận dụng lợi thế của chúng nếu chúng ở đó. – SqlRyan