2015-04-28 210 views
1

我真的很想使用inno setup或其他類似軟件來製作一個「專業」安裝程序,其中應用程序通過許可證密鑰或串行進行分發,並且我想確保安裝程序在給定的機器上只能安裝一次。這是爲了防止人們從安裝文件夾複製文件並將其粘貼到另一臺計算機中。我已經閱讀了很多關於此的主題,但它始終與only 1 key for an installer相同,這意味着它可以使用相同的密鑰安裝多次。Inno Setup with java application

我試圖直接鎖定我的應用程序,而沒有inno安裝程序,通過設置與主板ID檢查,但它不是我想要的方式,並沒有完美的設計。這是因爲軟件可以有多個有效的密鑰,但是當有人使用它時,密鑰不再有效。

回答

1

如果您不知道在編程階段將運行哪臺計算機,您可以通過在代碼開始時明確檢查IP地址來輕鬆限制其他計算機。

如果您不知道將使用哪臺計算機,但只是在第一臺計算機上運行它,則應該保存在內部資源文件中,它已經運行過一次。寫入內部資源可能有點複雜。

在任何情況下,限制到一個使用,也可以使用內部資源解決方案,但如果你不需要它(比方說,你知道哪臺計算機將運行),您可以使用首:

// in the beginnig of your main 
if(Preferences.get("myapp.usedonce") != null) 
    return; 

// at the end of main 
Preferences.put("myapp.usedonce", "yes"); 
+0

如果IP不是靜態的,該怎麼辦? – Tavo

+0

還有更多的固定信息,比如計算機名稱。試圖改變它的名字將無濟於事,因爲偏好會說它已經運行過一次。 – Mordechai

+0

這將是一個商業用途的應用程序,我會提供給幾個商業,我不知道這是他們的IP,即使是靜態或不是,有更好的方法嗎?你可以通過給我一個inno setup的示例代碼來更具體些嗎?非常感謝 –