2008-10-13 36 views
21

Tôi đang phát triển một ứng dụng máy tính để bàn dùng chung. Tôi đến điểm tôi cần triển khai mã sử dụng thử/kích hoạt. Làm thế nào để bạn tiếp cận một cái gì đó như thế này? Tôi có những ý tưởng riêng của mình, nhưng tôi muốn xem cộng đồng stackoverflow nghĩ gì.Cần tư vấn về việc triển khai bản dùng thử giới hạn thời gian

Tôi đang phát triển với C++/Qt. Nền tảng dự định là Windows/Mac/Linux.

Cảm ơn lời khuyên của bạn!

+0

Không liên quan, nhưng xin lưu ý rằng nếu bạn phát triển các ứng dụng thương mại bằng QT, bạn * phải * có giấy phép dành cho nhà phát triển QT. Giấy phép QT cấm sử dụng ấn bản Nguồn mở cho phần mềm thương mại, bao gồm phần mềm chia sẻ. Xem http://trolltech.com/products/appdev/licensing/licensing để biết chi tiết. –

+3

Cảm ơn lời khuyên. Chúng tôi có giấy phép thương mại. Sẽ không muốn làm rối loạn trolls ... – JimDaniel

+0

Thật tuyệt khi nghe :) Trolltech đã dành rất nhiều cho cộng đồng mà tôi cảm thấy cần phải bảo vệ họ ngay cả khi nó có thể không cần thiết ... Vui mừng khi thấy bạn đang hỗ trợ chúng. –

Trả lời

23

gì để bảo vệ chống lại và những gì không để bảo vệ chống lại:

Hãy ghi nhớ rằng mọi người sẽ luôn luôn tìm thấy một cách để có được xung quanh thời gian dùng thử. Vì vậy, bạn muốn làm cho nó khó chịu cho người để có được khoảng thời gian dùng thử của bạn, nhưng nó không quan trọng nếu nó không thể để có được xung quanh bạn thời gian dùng thử.

Hầu hết mọi người sẽ nghĩ rằng đó là quá nhiều công việc để thử và nhận được khoảng thời gian dùng thử của bạn nếu có ngay cả một cơ chế đơn giản. Ví dụ, mọi người luôn có thể sử dụng filemon/regmon để xem các tệp và mục đăng ký nào thay đổi khi cài đặt phần mềm của bạn.

Điều đó đang được nói, một cơ chế đơn giản là tốt nhất, bởi vì nó lãng phí ít thời gian của bạn hơn.

Dưới đây là một số ý tưởng:

  • Bạn có thể làm một đánh dấu đếm đâu đó trong registry cho mỗi ngày duy nhất được chạy. Nếu đánh dấu số> 30 thì hiển thị cho họ một tin nhắn hết hạn.
  • Bạn có thể lưu trữ ngày cài đặt, nhưng hãy kiểm tra xem chúng có nhiều ngày hơn thời gian dùng thử của bạn không, sau đó nói với chúng rằng chúng đã hết hạn. Điều này sẽ bảo vệ chống lại những người thay đổi ngày của họ trước khi cài đặt cho một ngày trong tương lai.
  • Tôi khuyên bạn nên gỡ cài đặt, xóa số "ngày chạy" của bạn. Điều này là do mọi người có thể đánh giá lại các tháng sản phẩm của bạn sau đó và cuối cùng mua. Nhưng nếu họ không thể đánh giá nó, họ sẽ không mua. Không có người dùng nghiêm trọng nào có thời gian để gỡ cài đặt/cài đặt lại chỉ để sử dụng thêm sản phẩm của bạn.

thử nghiệm Mở rộng:

Đối với chúng tôi, khi khách hàng yêu cầu một phần mở rộng thử nghiệm, chúng tôi gửi cho họ một email tự động có chứa một chương trình "TrialExtend.exe" và một phiên tòa kéo dài mã. Chương trình này liên hệ với máy chủ của chúng tôi với mã mở rộng dùng thử để xác thực nó. Nếu mã được xác thực, thời gian dùng thử sẽ được đặt lại.

+1

'Không có người dùng nghiêm túc nào có thời gian để gỡ cài đặt/cài đặt lại chỉ để sử dụng thêm sản phẩm của bạn.' - tôi chắc chắn sẽ –

3

Dù bạn làm gì, hãy chú ý đến ngày hệ thống. Bí quyết lâu đời nhất trong cuốn sách là cài đặt một ứng dụng tại một thời điểm nào đó trong tương lai và sau đó quay lại ngày thực sau khi ứng dụng lưu trữ ngày ngớ ngẩn trong lần chạy đầu tiên. Có thể đồng bộ hóa khóa với kho lưu trữ trực tuyến?

+0

Để ngăn chặn điều đó, người ta có thể sử dụng giá trị tuyệt đối của System.currentTimeMillis() - expirationDate.getTimeMillis(); Xin lỗi, tôi là một anh chàng java. Kính trọng, Steff – Snicolas

0

Nếu bạn [khá] có khả năng có kết nối mạng, bạn có thể đăng ký trình cài đặt với trang web của mình, sau đó kiểm tra lại nó mỗi lần khởi động.

Nếu điều đó không khả thi, hãy viết giá trị vào điểm có thể sửa đổi trên hệ thống tệp (mục đăng ký, mục nhập và/etc conf file, v.v.) có thể hoạt động được.

+2

Hãy cẩn thận về điều này. Người dùng rất thận trọng với các chương trình "điện thoại nhà" - họ không có cách nào biết được nội dung gửi lại, có thể là số thẻ tín dụng và mật khẩu ngân hàng của họ cho tất cả những gì họ biết. –

2

Câu trả lời của Brian thật tuyệt vời, nhưng tôi muốn thêm điều gì đó.

Người dùng Linux thường không được sử dụng để thanh toán cho phần mềm và họ có xu hướng hiểu biết nhiều hơn về công nghệ và thậm chí có thể "tôn giáo" về các vấn đề nguồn mở.

Vì lý do đó, tôi thực sự khuyên bạn nên giữ nó đơn giản - nó thực sự chỉ là một rào cản nhỏ để mua phần mềm ít nhất cũng dễ dàng như ăn cắp nó.

Tôi muốn đề xuất rằng nó sẽ bị trễ hoặc vô hiệu hóa một số tính năng nhất định (ví dụ: lưu) sau thời gian dùng thử thay vì chết hoàn toàn. Chỉ là một quan sát, nhưng các hạn chế dựa trên tính năng dường như phổ biến hơn trong thế giới Linux.

Là một sang một bên, làm cho phiên bản Linux là một "lớp học đầu tiên" phiên bản - trình cài đặt phong nha, vv sẽ giúp đỡ.

Nếu bạn tương đối nhỏ, hoặc chương trình của bạn tương đối thích hợp, có một cơ hội khá nhỏ, bất kỳ ai cũng sẽ phải bẻ khóa - vì vậy hãy tập trung vào việc tạo ra một sản phẩm tốt với một cú huých thẳng về phía trước.

0

Có lẽ vấn đề thực sự là bản dùng thử Thời gian giới hạn. Công ty tôi làm việc cho rất nhiều công việc Active Directory và chúng tôi thường giới hạn phần mềm của chúng tôi cho một lượng nhỏ người dùng cho các phiên bản dùng thử. Tôi cảm thấy rằng chức năng hạn chế theo một cách nào đó đôi khi tốt hơn, dễ thực hiện hơn và không thành công khi người dùng chỉ cần thay đổi ngày trên máy tính của họ.
Có hành động cân bằng trong đó bạn không thể giới hạn chức năng quá nghiêm ngặt, nếu không người dùng sẽ không nhận được gì ngoài phiên tòa. Đồng thời, một giới hạn quá lỏng lẻo không khuyến khích mua.

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