2017-04-12 88 views
1

我開發客戶端 - 服務器UWP應用程序,我希望它由側面加載部署(可能使用WinAppDeployCmd或MDM)到大組由管理員設備。 但要啓動,我的應用程序需要知道服務器IP地址,這對每個客戶而言都不相同。我需要在管理員部署到每個設備期間以某種方式傳遞此設置。UWP AppX中安裝參數

有沒有辦法設置遠程應用程序設置?或者傳遞一個XML配置文件以及appx?或者在安裝過程中添加一些參數的其他方式?

+0

對於「但是發動,我的應用程序需要知道服務器的IP地址,」你能告訴你的客戶端應用程序是如何要求的服務器的IP地址?在Onlaunch()方法裏面?爲什麼不將服務器IP信息保存在應用程序包內的xml文件中,並在部署之前更新文件?如果我誤解了你,請告訴我更多細節。 –

+0

UWP應用程序正在「沙箱」中工作。 AFAIK,沒有辦法與Appx一起發佈配置。配置文件應該在appx中。 – Scavenger

+0

作爲一個例子,使用MSI安裝程序的常規應用程序,我可以創建對話框,以便用戶可以在安裝過程中設置一些屬性。例如,用戶可以在安裝過程中設置服務器IP地址,然後MSI安裝程序會將此值保存到註冊表或配置文件,因此已安裝的應用程序可以使用它。 我正在尋找類似的UWP過程。 –

回答

1

與例如MSI,沒有選擇將「初始數據」與安裝包一起傳遞。一種選擇是安裝軟件包,然後添加你的'數據',例如

  1. 添加-AppxPackage foo.appx
  2. APPDATA = ApplicationDataManager.CreateForPackageFamily(foo_pkg_family)
  3. appdata.LocalSettings.CreateContainer( 「×」)。值[ 「Y」] = Z

第1步安裝軟件包,最重要的是它會爲用戶註冊軟件包。這爲用戶創建了包的appdata存儲資源。然後您可以使用ApplicationDataManager(來自Win32 /非UWP進程)來訪問appdata。

您可能會發現AppData.exe得心應手。使用ApplicationDataManager爲AppData提供cmdline接口的簡單exe。鑑於這種或同等您可以編寫一個批處理文件

@ECHO Off 
powershell -c Add-AppxPackage foo.appx 
appdata.exe SET foopkgfamilyname local\configuration --value=x --type=string --data=y 
相關問題