-1

我在VS2015中使用NetOffice製作了一個Outlook加載項,並針對.NET 2.0,現在我需要將其打包以供非管理員用戶進行安裝(它不需要管理員權限)。我通常使用ClickOnce但缺少它(假設因爲我沒有使用VSTO?),所以我下載並安裝了Visual Studio 2015 Installer Project(似乎易於使用)。針對非管理員用戶的MSI

This SO question/answer似乎是我正在尋找的解決方案,但是當我運行MSI文件時,它仍然需要管理員密碼。輸入管理員密碼後,所有文件都將添加到用戶的AppData文件夾中。那麼爲什麼仍然需要管理員密碼?我在這裏錯過了什麼?在SO問題概述

9個步驟:

  1. 使用類型51自定義操作中InstallUISequence總是取消設置ALLUSERS(每用戶選項)
  2. 文件必須寫入只標準用戶有權訪問的文件夾。假設ALLUSERS始終設置爲每個用戶的設置,則可以使用可重定向的文件夾屬性,但不能使用ProgramFilesFolder,因爲它不會針對每個用戶重定向。
  3. 將應用程序安裝到LocalAppDataFolder下的某個位置。
  4. 所有註冊表設置都應該寫入註冊表表格根目錄列中的HKCU中。
  5. 翻轉匯總信息流中字數屬性的第3位,表示不需要憑證提示。
  6. 如果您有引導程序(通常名爲setup.exe),請顯示requestedExecutionLevel以運行asInvoker。
  7. 通過ICE驗證,因爲ICE檢查每個用戶和每個機器狀態的混合不正確。
  8. 從標準用戶帳戶和提升的命令提示符處測試以確認行爲。
  9. 提供用戶關於軟件包用戶特定性質的文檔,因爲這在今天的應用程序安裝中是非典型的。

這裏是我做了什麼:

第1步:安裝項目 - >查看 - >用戶界面 - >設置 「InstallAllUsersVisible」 爲False(每SO接聽)

第2步:在設置文件系統中,我添加了「用戶的應用程序數據文件夾」,然後添加了「本地」,然後添加了「項目名稱」,然後添加了「項目輸出」 - >「主輸出」。我試圖刪除「應用程序文件夾」,但它表示它是必需的,不會被刪除。

第3步:我相信這是我做過什麼上面...

第4步:我還沒有添加任何註冊表項。這是必需的嗎?

步驟5:根據SO回答,我下載了Orca並打開了MSI文件。然而,當我去查看 - >摘要信息,並尋找字數屬性它不在那裏。我瀏覽過所有表格,無法在任何地方找到它。

步驟6:在安裝程序文件屬性中取消選中「創建安裝程序以安裝必備組件」後,我不再有setup.exe文件。

第7步:我讀了一些關於ICE驗證的圖片,但並不確定我需要在這裏做什麼。

現在跳過步驟8和9。

其他:在Orca環顧四周時,我注意到CustomAction表中的DIRCA_TARGETDIR仍然設置爲程序文件夾,所以我將其更改爲[AppDataFolder] [Manufacturer] [ProductName]。

+0

多年來,我撰寫了許多office插件安裝程序/博客文章。海事組織使用微星的全部重點是,你可以有一個引導程序來安裝所有的前置程序並安裝你的MSI每臺機器。如果您的要求是每個用戶/從不要求提升權限,爲什麼不使用ClickOnce?我可能不會在意它,但這是它的設計目的。 –

+0

我一直使用ClickOnce,但對於此插件,我無法使用VSTO(未安裝在用戶機器上)。所以我使用NetOffice並使用他們的「開發工具箱」創建了我的項目。當我在VS2015中打開它並轉到項目屬性時,「簽名」選項卡下的「發佈」選項卡丟失並且ClickOnce灰顯。如果我能弄清楚如何使用ClickOnce,我會立即。 – pheeper

+0

嗯..我從來沒有使用過SDK。也許有一個導入目標可以添加到他們生成的MSBuild項目文件中,以啓用該目標。另一種選擇是查看https://github.com/Squirrel/Squirrel.Windows ..不要誤會我的意思,我喜歡MSI,我喜歡每臺機器安裝,但如果您的故事確實是每個用戶,我認爲還有其他的選擇可能會更好。 –

回答

0

基本上你應該計算出VSTO註冊需要註冊表項,並且只使用Visual Studio功能並忽略大多數旨在與WiX等工具一起使用的SO信息。

您的InstallAllUsers false對於每個用戶的安裝都是正確的。

要使用LocalAppDataFolder轉到文件系統視圖,右鍵單擊該節點並添加一個特殊的文件夾,自定義文件夾。在文件夾的屬性窗口中將[LocalAppDataFolder]放在DefaultLocation中。那麼這就是你添加文件的地方。就是這樣 - 不要搞亂DIRCA_自定義操作。

如果您取消選中先決條件按鈕,您將獲得一個MSI文件,這就是您安裝的內容。如果您有先決條件,則需要安裝setup.exe引導程序,然後安裝MSI。

使用View-Summary Information在Orca中關閉UAC提示並檢查UAC兼容框。請注意,Windows安裝程序不會因爲它是安裝而違反系統安全規則,所以如果安裝程序嘗試執行不允許有限用戶使用的操作,則會失敗。

相關問題