2014-10-27 54 views
2

我目前正在寫在C#.NET 4.5的軟件解決方案。該軟件使用基於硬件ID的許可系統(例如MAC地址或CPU ID)。 一個用戶現在報告說,他使用微軟的App-V軟件時有問題,發牌。他提到,每當新用戶想要使用該軟件時,應用程序就會抱怨許可證無效(由於硬件發生變化)。 如果以前註冊的用戶在其他客戶端上使用本軟件,也會發生這種情況。 我現在的問題是,通過App-V的運行應用程序時,有哪些呢下面剪斷的代碼返回時,客戶端或者應用程序實際運行的服務器的MAC地址。如果第一個是真的,是否有辦法從服務器獲取相同的信息,在.NET中使用某些功能?微軟的App-V和硬件ID

private static string getMAC() { 
    ManagementClass oMClass = new ManagementClass("Win32_NetworkAdapterConfiguration"); 
    ManagementObjectCollection MOCol = oMClass.GetInstances(); 

    string mac = ""; 
    foreach (ManagementObject MO in MOCol) { 
     if (MO != null) { 
      if (MO["MacAddress"] != null) { 
      mac = MO["MacAddress"].ToString().Replace(":", ""); 

      if (mac != string.Empty) { 
       break; 
      }    
     } 
    } 

    return mac; 
} 
+0

我意識到這是一個老問題,但我只是想澄清一些有關App-V的工作原理是:應用程序只有一個「服務器」,在爲App-V準備的第一階段,稱爲測序上運行。這是IT管理員如何生成客戶端可以使用App-V運行的軟件包。但是,從應用程序部署到客戶機的那一刻起,所有代碼都會在該機器上本地執行。 – peter 2015-04-30 23:11:44

回答

4

下一個到最後一個在App-V的的維基百科文章的Limitations section子彈適合您的問題正是:綁在機應用程序與授權執法:

  • 許可政策 ,例如許可證綁定到系統的MAC地址或硬盤序列號。如果用戶無法在首次啓動順序應用程序時手動或通過腳本執行激活,則不應對這種類型的應用程序進行排序。

你需要告訴你的客戶,你可以不支持App-V的,如果你覈實應用程序的每個單獨的運行許可證,而不是隻在一次應用程式安裝時間。如果這意味着你將失去一位有價值的客戶,那麼很快就會擺脫這種計劃,這是我們無法爲你做出的一項商業決定。

+0

因此軟件在首次啓動時註冊。但在每一個順序啓動的軟件檢查是否許可​​文件還沒有被篡改(或複製到一個新的電腦),並仍然符合機最初註冊。 我擔心,這將是最後的答案......我想我剛剛的希望一點點離開,將有一個容易解決這一問題。 非常感謝。 – 2014-10-31 12:46:18