2010-01-13 69 views
1

我的問題是有點鏈接到該存在的問題針對不同的客戶

How to deploy a desktop .Net application with custom settings per user

不過,我知道使用應用程序設置的想法是什麼我無法找到是信息,應該如何部署的默認設置我爲不同的客戶部署應用程序設置?

我們有一個自定義設置系統,可以正常工作,但是當應用程序第一次運行時,它需要知道幾件事情,例如公司名稱和應用程序服務器。這些在客戶基礎上顯然不同。

我不希望用戶在第一次運行時不得不輸入這些設置,因爲在大多數情況下,應用程序將通過組策略進行部署。

目前我的想法是在每個客戶的獨立版本中設置某種設置文件。這是要走的路,還是我錯過了對「客戶檔案」這種想法的某種本地支持?

編輯:

更多信息,可能會幫助人們grok我的問題。

這是一個由中央數據庫和應用程序服務器組成的企業應用程序,以及100個客戶端應用程序的安裝。我需要能夠爲客戶端應用程序提供一些應用程序設置,對於不同的客戶顯然會有所不同。

+0

我不明白爲什麼不要求用戶在第一次運行時輸入這些設置。這將是我的方式。 編輯:在設置中詢問這些信息。 – jonaspp 2010-01-13 11:21:55

+0

由於此應用程序的用戶將不知道應用程序服務器路徑,也不應該他們IMO。 – MrEdmundo 2010-01-13 11:28:47

+0

無法在安裝程序中要求這些設置,因爲應用程序將按組策略進行部署。 – MrEdmundo 2010-01-13 12:46:11

回答

0

很多應用程序在第一次啓動時會詢問您一些初始設置(Microsoft Office,Visual Studio等)。所以這種行爲通常由用戶所知。

也許問題更多,這些初始設置會重新生成應用程序的更新。爲了實現這一點,您可以將數據保存在註冊表內或%AppData%下面的版本獨立路徑中。

此外,通過將這些信息從機器中取出(例如,公司名稱可以從註冊表獲取[HKLM \ Software \ Microsoft \ WindowsNT \ CurrentVersion \ RegisteredOrganization]或因爲應用程序服務器需要網關地址,AD服務器,最常見的匹配項)。

因此,在最好的情況下,用戶將會看到一個已經正確填好的表格,只需要按下回車鍵或者他只進行必要的改變,但不會自己填寫完整的對話框。


更新:

因此,如果用戶不知道的應用程序服務器的路徑。誰做的?這些信息駐留在哪裏?也許你可以強制你的客戶以同樣的方式提供這些信息。也許他們在登錄腳本中設置了一些環境變量,或者他們在全局可訪問的地方(例如登錄腳本所在的位置)放置了一個包含所需信息的文件。

+0

原則上,系統的管理員知道這些信息,但客戶端應用程序在某種程度上需要它。在本地PC上是否存在可訪問的路徑,並且是域中所有計算機的核心,並且可以通用方式訪問所有客戶。然後,所需的信息可以存儲在此位置,並且應用程序在首次運行時獲得所需的設置。 – MrEdmundo 2010-01-13 11:51:06

0

如果我理解正確,您希望爲每個用戶部署預先定製的軟件。 您可以使用WIX爲每個客戶創建一個MSI包。您可以在面向客戶的msi中提供多個用戶設置。您可以根據存儲客戶的數據源動態生成WIX-XML文檔。 有點工作,但後來節省了很多工作。通過WIX創建MSI可以很容易地集成到構建過程中。

+0

謝謝我會看看這個看看是否有幫助。 – MrEdmundo 2010-01-13 11:57:30

0

鑑於這是一個企業環境,您是否考慮過使用ClickOnce?我們主要通過啓動參數取得成功,例如http://servername/OurApp.application?environment=uat

它並不總是規模,但可以使用參數GET變量和分析所得到的查詢字符串通過HTTP傳送時通過 - http://msdn.microsoft.com/en-us/library/ms172242.aspx

你可以在設置中傳入查詢字符串,或在創建它們數據庫,生成一個(散列?)鍵並構建一個對該引用唯一的QueryString(帶來的好處是,好奇的用戶將無法操作URI並僞造一組不同的參數)。

+0

嗨,我最近看了ClickOnce導致以下問題:http://serverfault.com/questions/143055/enterprise-level-control-of-clickonce-product-on-corporate-network-with-group- pol 如果我不能解決這將是一個伎倆使用。謝謝埃德 – MrEdmundo 2010-06-03 09:11:02