日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Clickonce部署使用過程中的錯誤

 WindySky 2010-12-21

啟用鎖定文件擴展名的下載

IIS(Internet 信息服務(wù))會保護某些文件類型,例如 .config 文件和 .mdb 文件。如果應(yīng)用程序有鎖定的文件,請執(zhí)行以下操作啟用對此類文件的下載:

  • 在 inetmgr 中打開 vroot 的“屬性”頁。

  • 在“虛擬目錄”選項卡上單擊“配置”。

您將看到一個應(yīng)用程序映射列表。刪除 .config 擴展名的映射以啟用 .config 文件下載。對此列表中希望作為應(yīng)用程序一部分下載的所有其他擴展名重復(fù)此操作。

出于安全原因,有些 Web 服務(wù)器的配置會阻止不常用于 Web 內(nèi)容的文件。例如,具有以下擴展名的文件可能會被阻止:.dll、.config、.mdf?;?Windows 的應(yīng)用程序通常包含帶有其中一些擴展名的文件。如果用戶嘗試運行的 ClickOnce 應(yīng)用程序要訪問 Web 服務(wù)器上被阻止的文件,將產(chǎn)生一個錯誤。無需取消對所有文件擴展名的阻止,默認情況下,每個應(yīng)用程序文件都使用“.deploy”文件擴展名發(fā)布。如果使用此選項,Web 服務(wù)器只需配置為允許以下三種文件擴展名即可:

  • .application

  • .manifest

  • .deploy

但是,可以禁用此選項,方法是清除“發(fā)布選項”對話框上的“使用‘deploy’文件擴展名”選項,這時必須配置 Web 服務(wù)器以允許應(yīng)用程序中使用的所有文件擴展名。

有時您必須配置 .manifest、.application 和 .deploy,例如在使用未安裝 .NET Framework 的 IIS 的情況下,或在使用其他 Web 服務(wù)器(例如,Apache)的情況下。

配置過期設(shè)置

通過 URL 啟動應(yīng)用程序時,Internet Explorer 執(zhí)行 .application 文件的下載。因此,所有通知瀏覽器緩存文件的過期設(shè)置都將有效??蛻舳藭虼硕粰z測新的更新,而是使用 IE 緩存中的 .application。若要確保客戶端在每當更新可用時都立即檢測更新,請啟用 IIS 中的“立即過期”選項。

在 IIS 中執(zhí)行此操作:

  • 運行 inetmgr 并打開 vroot(或整個服務(wù)器)的“屬性”頁。

  • 單擊“HTTP 標頭”選項卡。

  • 單擊“啟用內(nèi)容過期”。

  • 單擊“立即過期”。

  • 重新啟動 IIS。

不支持 FTP 協(xié)議

ClickOnce 支持從任何 HTTP 1.1 Web 服務(wù)器或文件服務(wù)器上安裝應(yīng)用程序。FTP 協(xié)議不受支持??梢允褂?ftp:// 協(xié)議發(fā)布應(yīng)用程序,但必須使用 http://、https:// 或 file:// 協(xié)議執(zhí)行安裝。

正確配置服務(wù)器

使用 ClickOnce 時的一個最常見的問題就是 ClickOnce 因配置問題而無法從網(wǎng)絡(luò)服務(wù)器下載文件。如果在 ClickOnce 安裝過程中遇到下載文件的問題,請嘗試使用 Internet Explorer 下載相同的文件。這樣將把問題范圍縮小到 ClickOnce 問題,而不是普通的服務(wù)器/網(wǎng)絡(luò)問題。

需要管理員特權(quán)

如果使用 HTTP 發(fā)布,則您必須具備目標服務(wù)器上的管理員特權(quán)(IIS 需要此特權(quán)級別)。如果不使用 HTTP 發(fā)布,則只需具備目標路徑上的寫權(quán)限。

必須啟用匿名訪問

向關(guān)閉了“匿名訪問”的遠程服務(wù)器發(fā)布時,您將收到下面的警告:

"The files could not be downloaded from http://<remoteserver>/<myapplication>/.  The remote server returned an error: (401) Unathorized."

若要解決此問題,請在 Windows 資源管理器中右擊“我的電腦”,然后選擇“管理”。在“計算機管理”對話框中,依次打開“服務(wù)和應(yīng)用程序”節(jié)點、“Internet 信息服務(wù)”、“網(wǎng)站”,然后右擊“默認網(wǎng)站”。在“默認網(wǎng)站屬性”對話框中,單擊“目錄安全性”選項卡,然后單擊“編輯”按鈕。在“身份驗證方法”對話框中,選擇“匿名訪問”復(fù)選框。

Windows XP SP2:Windows 防火墻

默認情況下,Windows XP SP2 啟用 Windows 防火墻。如果在安裝有 Windows XP 的計算機上開發(fā)應(yīng)用程序,仍能從本地 IIS 服務(wù)器發(fā)布和運行 ClickOnce 應(yīng)用程序。但是,如果不打開 Windows 防火墻,則無法從其他計算機訪問該 IIS 服務(wù)器。若要管理 Windows 防火墻,請從“控制面板”中選擇“Windows 防火墻”。

Windows Server 2003:啟用 FrontPage 服務(wù)器擴展

使用 HTTP 將應(yīng)用程序發(fā)布到 Windows Web 服務(wù)器需要 FrontPage 服務(wù)器擴展 (FPSE)。

默認情況下,Windows Server 2003 不安裝 FPSE。如果希望使用 Visual Studio 通過具有 FPSE 的 HTTP 將應(yīng)用程序發(fā)布到 Windows Server 2003 Web 服務(wù)器,必須先安裝 FPSE??梢允褂?Windows Server 2003 中的“管理您的服務(wù)器”管理工具完成此工作。

MIME 類型映射

在 HTTP 上發(fā)布時,.application 文件的 MIME 類型應(yīng)為“application/x-ms-application”。如果服務(wù)器上安裝有 .NET Framework 2.0,該類型將自動設(shè)置。如果沒有安裝,則需要為 ClickOnce 應(yīng)用程序 vroot(或整個服務(wù)器)創(chuàng)建 MIME 類型關(guān)聯(lián)。

在 IIS 中執(zhí)行此操作:

  • 運行 inetmgr 并打開 vroot(或整個服務(wù)器)的“屬性”頁。

  • 單擊“HTTP 標頭”選項卡。

  • 單擊“Mime 映射”部分中的“文件類型”按鈕。

  • 單擊“新建類型”添加一個新類型。在“相關(guān)擴展名”中鍵入 application;在“內(nèi)容類型 (MIME)”中鍵入 application/x-ms-application

  • 重新啟動 IIS。

Windows Server 2003:鎖定的 MIME 類型

Windows Server 2003 上的 IIS 會鎖定除某些已知類型(例如 .htm、.html、.txt 等)以外的所有文件類型。要使用此服務(wù)器部署 ClickOnce 應(yīng)用程序,需要更改 IIS 設(shè)置以允許下載 .application、.manifest 以及應(yīng)用程序使用的所有其他自定義文件類型的文件。

在 IIS 中執(zhí)行此操作:

  • 運行 inetmgr 并打開該計算機節(jié)點的“屬性”頁。

  • 單擊“MIME 類型”按鈕。

  • 單擊“新建”按鈕,然后添加新的擴展名和必要的 MIME 類型。

    對于 .application 和 .manifest 擴展名,MIME 類型應(yīng)為“application/x-ms-application”。對于其他文件類型,MIME 類型應(yīng)為“application/octet-stream”。

    如果創(chuàng)建帶有擴展名“*”且 MIME 類型為“application/octet-stream”的 MIME 類型,將允許下載未阻止的文件類型的文件。(但是不能下載阻止的文件類型,例如 .aspx 和 .asmx)。

  • 重新啟動 IIS。

<script type=text/Javascript> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl08b2d8d8b,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl08img,"; </script> 疑難解答指南疑難解答指南

使用 ClickOnce 錯誤日志

  • 發(fā)生 ClickOnce 錯誤時,通常會顯示一個帶有“詳細信息”按鈕的錯誤對話框。單擊此按鈕將打開該應(yīng)用程序的 ClickOnce 日志文件。請在此日志文件中查找特定錯誤信息,該信息將指出何處出錯。如果其中的信息不足以幫助診斷和解決問題,請參考本疑難解答指南中的以下內(nèi)容。

  • ClickOnce 為每個應(yīng)用程序維護一個日志文件。該文件存儲在 wininet 緩存中,因此適用于自動清理機制。

  • 指定自定義日志位置:要使 ClickOnce 將日志寫入到特定位置,請將注冊表項 [HKCU\Software\Microsoft\Windows\CurrentVersion\Deployment] "LogFilePath" (STRING) 設(shè)置為一個文件,例如“c:\logs\ClickOnceLog.txt”。確保計算機上存在此目錄 (c:\logs)。所有應(yīng)用程序的全部 ClickOnce 日志消息都將寫入此文件。

手動更改清單或應(yīng)用程序時的注意事項

Visual Studio 發(fā)布負責(zé)設(shè)置應(yīng)用程序和清單。但是,如果在 Visual Studio 以外更新部署(例如使用 MAGE),則需注意一些問題:

  • 如果更新應(yīng)用程序中的文件,則必須更新應(yīng)用程序清單中對該文件的引用,因為該文件將更改。

  • 如果以任何方式更新應(yīng)用程序清單,則必須在部署清單中更新應(yīng)用程序清單引用。當使用 MageUI 在部署清單中更新應(yīng)用程序清單引用時,請確保基本代碼指向您的應(yīng)用程序清單。MageUI 始終假定應(yīng)用程序清單是一個帶有版本的子目錄,而這一假定不一定總是正確的。

  • 如果以任何方式更新清單,則必須再次對它簽名。

使用部署提供程序的注意事項

這里介紹當您在客戶端發(fā)現(xiàn) ClickOnce 應(yīng)用程序出現(xiàn)意外行為時應(yīng)注意的問題。ClickOnce 部署清單具有一個 deploymentProvider 屬性,該屬性指向安裝應(yīng)用程序和為應(yīng)用程序提供服務(wù)的源位置的完整路徑。

在部署清單中查找下面一行:

<deploymentProvider codebase="http://myserver/myapp.application" />

這行內(nèi)容是在創(chuàng)建 ClickOnce 應(yīng)用程序時設(shè)置的,對于“安裝的”應(yīng)用程序,這是必需的設(shè)置。該設(shè)置中的位置是一個標準位置,ClickOnce 安裝程序從該位置安裝應(yīng)用程序和查找更新。所有應(yīng)用程序文件都將從相對于此路徑的位置安裝。

因此,如果使用 xcopy 命令將 ClickOnce 應(yīng)用程序復(fù)制到不同位置,但不更改 deploymentProvider 屬性,則嘗試下載應(yīng)用程序時 ClickOnce 仍將引用原始位置。

如果希望移動或復(fù)制應(yīng)用程序,則必須也更新 deploymentProvider 路徑,這樣客戶端才能確實從新位置安裝。對“安裝的”應(yīng)用程序來說這是個普遍問題。對于始終通過原始 URL 啟動的聯(lián)機應(yīng)用程序,deploymentProvider 為可選設(shè)置。如果設(shè)置了 deploymentProvider,則使用該屬性,否則將使用用于激活應(yīng)用程序的 URL 作為基 URL 下載應(yīng)用程序文件。

請記?。好看胃虑鍐螘r,必須再次對它簽名。

<script type=text/Javascript> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl1090e47d6,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl10img,"; </script> 常見問題常見問題

應(yīng)用程序啟動和更新問題

問題:瀏覽至一個 .application 文件時無任何反應(yīng),或者 XML 呈現(xiàn)在 IE 中,或者出現(xiàn)“運行/另存為”對話框

解決方法:很可能是因為 MIME 類型未在服務(wù)器或客戶端上正確注冊。

首先進行檢查,以確保服務(wù)器配置為將 .application 擴展名與 MIME 類型“application/x-ms-application”相關(guān)聯(lián)(請參見上面的“服務(wù)器配置”了解詳細信息)。如果服務(wù)器配置正確,則檢查以確保計算機上安裝了 .NET Framework 2.0。如果已安裝 dnprdnlong 但仍出現(xiàn)該問題,請嘗試卸載并重新安裝 Framework,以在客戶端重新注冊 MIME 類型。

問題:錯誤對話框顯示“無法檢索應(yīng)用程序。部署中缺少文件”或“應(yīng)用程序下載中斷,請檢查網(wǎng)絡(luò)錯誤并稍后再試”

解決方法:這表示無法下載 ClickOnce 清單所引用的一個或多個文件。調(diào)試此問題最簡單的方法是嘗試下載 ClickOnce 指出其無法下載的 URL。可能的原因如下:

  • 如果日志文件顯示“(403) Forbidden”或“(404) Not found”,請檢查以確保 Web 服務(wù)器配置為不阻止此文件的下載(請參見上面的“服務(wù)器配置”部分)。

  • 如果服務(wù)器阻止了 .config 文件,請參見下面的“問題:安裝具有 .config 文件的 ClickOnce 應(yīng)用程序時發(fā)生下載錯誤”。

  • 請檢查是否由于部署清單中的 deploymentProvider URL 指向的位置不是用于激活應(yīng)用程序的 URL 而導(dǎo)致了此問題(有關(guān)更多信息,請參見上面的“使用部署提供程序的注意事項”)。

  • 請檢查服務(wù)器以確保所有文件都存在;ClickOnce 日志會指出找不到的文件。

  • 檢查是否存在網(wǎng)絡(luò)連接問題;如果下載期間客戶端計算機脫機,您將收到此消息。

問題:安裝具有 .config 文件的 ClickOnce 應(yīng)用程序時發(fā)生下載錯誤

基于 Visual Basic Windows 的應(yīng)用程序默認包含一個 app.config 文件。當用戶嘗試從安裝有 Windows Server 2003 的 Web 服務(wù)器安裝時將出現(xiàn)問題,原因是該操作系統(tǒng)會出于安全原因而阻止安裝 .config 文件。要允許安裝 .config 文件,請單擊“發(fā)布選項”對話框中的“使用‘.deploy’文件擴展名”。

還需要相應(yīng)地設(shè)置 MIME 類型。如果在使用 IIS,請在 Windows 資源管理器中右擊“我的電腦”,再選擇“管理”。依次打開“服務(wù)和應(yīng)用程序”、“Internet 信息服務(wù)”,再右擊“網(wǎng)站”,然后選擇“屬性”。

單擊標簽為“MIME 類型”的按鈕。在“MIME 類型”對話框中,為 .application、.manifest 和 .deploy 文件添加 MIME 類型。

有關(guān)更多信息,請參見上面的“服務(wù)器配置”部分中的“啟用鎖定文件擴展名的下載”。

問題:錯誤信息“應(yīng)用程序格式不正確”;日志文件包含“XML 簽名無效”

解決方法:確保更新了清單文件并再次對它簽名。使用 Visual Studio 重新發(fā)布應(yīng)用程序,或使用 Mage 再次對該應(yīng)用程序進行簽名。

問題:安全警告“應(yīng)用程序已被阻止,因為它會對計算機造成很高的安全風(fēng)險”

解決方法:如果 Internet 上未簽名的應(yīng)用程序請求升級的信任,通常會出現(xiàn)此對話框。若要允許安裝和運行此應(yīng)用程序,請將該 URL 添加到受信任站點列表??梢栽?Internet Explorer 中使用“Internet 選項”對話框中的“安全”選項卡完成此操作。

問題:我在服務(wù)器上更新了應(yīng)用程序,但客戶端不下載更新

解決方法:可能存在以下原因之一

  • 請檢查部署清單中的 deploymentProvider URL。您是否確定更新內(nèi)容所在的位置與 deploymentProvider 指向的位置相同?(有關(guān)更多信息,請參見上面的“使用部署提供程序的注意事項”。)

  • 請檢查部署清單中的更新間隔。如果設(shè)置的間隔為階段性間隔(例如每六小時一次),ClickOnce 會一直等到此間隔過后才檢查更新。可以更改清單,使之在每次應(yīng)用程序啟動時檢查更新。在開發(fā)時可以使用這一選項方便地驗證是否正在安裝更新,但這會減慢應(yīng)用程序的激活速度。

  • 嘗試從“開始”菜單重新啟動應(yīng)用程序。ClickOnce 可能已在后臺檢測到更新,但將在下次激活時提示您安裝。

問題:更新期間遇到錯誤,日志項記錄“部署中的引用與應(yīng)用程序清單中定義的標識不匹配”

解決方法:發(fā)生問題的原因可能是 ClickOnce 當前使用的是 Internet Explorer 緩存的較舊版本的部署清單,而該版本與服務(wù)器上的最新應(yīng)用程序清單不匹配。為避免此問題,建議將服務(wù)器 vroot(或部署清單)上的 IIS 設(shè)置更改為立即過期,此設(shè)置會強制在每次激活時檢查服務(wù)器。若要在 inetmgr 中進行此操作,請選擇 vroot“屬性”頁上的“HTTP 標頭”選項卡,然后選中“啟用內(nèi)容過期”框,并設(shè)置為“立即過期”。

或者,可以先重新啟動 Internet Explorer 或清除 Internet Explorer 的“Temporary Internet Files”文件夾,然后再次運行該應(yīng)用程序,這將導(dǎo)致一次服務(wù)器重新同步。

問題:首次從本地磁盤(或 CD-ROM)激活成功,但之后從“開始”菜單激活失敗

解決方法:ClickOnce 使用部署提供程序 URL 獲取應(yīng)用程序的更新。請檢查以確保該 URL 指向的位置正確。(有關(guān)更多信息,請參見上面的“部署提供程序”。)

問題:錯誤“無法終結(jié)應(yīng)用程序”

解決方法:此錯誤信息通常表示將該應(yīng)用程序安裝到 ClickOnce 存儲區(qū)時出錯。要么是應(yīng)用程序出錯,要么是存儲區(qū)損壞。日志文件對出錯位置可能會有更好的指示。

要檢查的內(nèi)容:

  • 檢查部署清單的標識、應(yīng)用程序清單的標識和主應(yīng)用程序 EXE 的標識是否都唯一。

  • 如果應(yīng)用程序包含的文件路徑過長(超過 100 個字符),則可能超出了存儲區(qū)的最大路徑限制。請嘗試縮短路徑并重新安裝。

問題:應(yīng)用程序配置文件中的 PrivatePath 設(shè)置不起作用

解決方法:要使用 PrivatePath(合成探測路徑),應(yīng)用程序需要獲得完全信任權(quán)限。請嘗試將應(yīng)用程序清單更改為請求完全信任,然后重試。

問題:卸載期間出現(xiàn)對話框“未能卸載應(yīng)用程序”

解決方法:這通常表示應(yīng)用程序已經(jīng)刪除或存儲區(qū)已損壞。單擊“確定”后,“添加/刪除程序”項將被刪除。

問題:安裝期間出現(xiàn)對話框,提示沒有安裝平臺依賴項

解決方法:GAC(全局程序集緩存)中缺少應(yīng)用程序運行所需的一個必備項。

使用 Visual Studio 發(fā)布

問題:在 Visual Studio 中發(fā)布時失敗

請確保您具備面向目標服務(wù)器的發(fā)布權(quán)限。例如,如果您作為普通用戶而不是管理員登錄到終端服務(wù)器計算機,則您可能沒有權(quán)限發(fā)布到本地 Web 服務(wù)器。

如果使用 URL 發(fā)布,請確保目標計算機上啟用了 FrontPage 服務(wù)器擴展。

使用 Mage

問題:我嘗試使用證書存儲區(qū)中的證書進行簽名,但收到一個空白消息框

您需要在“簽名”對話框中執(zhí)行以下操作:

  • 選擇“使用存儲的證書進行簽名”,然后

  • 從列表中選擇一個證書;不會自動選擇第一個證書。

問題:單擊“不簽名”按鈕時導(dǎo)致異常

這是一個已知 bug。所有 ClickOnce 清單都需要進行簽名。只需選擇其中一個簽名選項,然后單擊“確定”即可。

PS:上面的錯誤及解決方案是我轉(zhuǎn)載的,沒有嘗試,大家遇到并有好的解決方法,希望能貼出來共享!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多