日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Web安装项目创建桌面快捷方式

發布時間:2024/8/22 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Web安装项目创建桌面快捷方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.WEB安裝項目部署
1.新建:新建項目-安裝和部署項目-WEB安裝項目
2.部署:
(1)進入文件系統視圖,"項目-右鍵-視圖-文件系統";也可以直接點"解決方案資源管理器"上部的快捷圖標
(2)在"WEB應用程序文件夾"添加文件,例如aspx文件,ico文件,bin目錄及文件,images目錄及文件等
(3)設置虛擬目錄屬性,右擊"WEB應用程序文件夾"選屬性,一般只須修改默認文檔"defaultdocument"以及虛擬目錄名"VirtualDirectorly"(若有多個虛擬目錄
(4)Web安裝項目默認沒有提供"用戶的程序菜單",需要自己創建:右擊"目標計算機上的文件系統-添加特殊文件夾-用戶的程序菜單"
(5)Web安裝項目默認也沒有用戶桌面目錄,添加方法同上
右擊"目標計算機上的文件系統-添加特殊文件夾-WEB自定義文件夾",逐次添加多個,但需要指出的是,這些多的虛擬目錄只能在設計時設置好名稱等屬性,而在安裝過程中卻無從控制)

補充:
在web項目部署時,添加網站有兩種方式:
①把你的網站先發布,然后把發布后的頁面一一添加進來同時把諸如images之類的文件夾要在安裝部署項目中文件夾然后再添加其下文件
②在安裝部署項目中添加項目輸出,選擇你的網站,但這樣做部署項目會把你網站所有文件包括.cs文件原樣打包進去,不太好

二.重寫安裝類:
1.作用:安裝類是在安裝部署項目被生成后,在被"安裝","提交","回滾","卸載"的過程中來完成一些自定義的操作
2.創建:
(1)新建一個類庫項目
(2)刪掉類庫中原有類文件,新建一個"安裝程序類"("添加新項"中有這個模版的)
(3)自定義方法:這個安裝類特殊就在于引用了System.Configuration.Install.dll并using System.Configuration.Install和繼承:Installer
在自定義方法中主要是對Install,Uninstall,Commit,Rollback方法進行override重寫
3.使用:創建完后,還不起效,要和安裝部署項目配合才得以使用
方法一:
(1)在安裝部署項目中將剛才類庫項目添加為"項目輸出-主輸出"
(2)在安裝部署項目"視圖-自定義操作"的"安裝","提交","回滾","卸載"等操作上"右鍵-添加自定義操作"選擇剛才添加的類庫項目輸出
方法二:
(1)將類庫進行編譯,生成.dll
(2)在安裝部署項目"視圖-自定義操作"的"安裝","提交","回滾","卸載"等操作上"右鍵-添加自定義操作"選擇文件,瀏覽到你編譯生成的.dll

至此,你所寫的安裝類將在"安裝","卸載","回滾","提交"過程中起效了!

三.為Web安裝項目添加桌面快捷方式及圖標
1.Web安裝項目特殊于一般的安裝部署項目:
(1)Web安裝項目無法在自身加入的網站項目中創建快捷方式,可以借助創建.url文件方式來創建(注:.lnk也是快捷方式文件,但安裝部署項目不允許添加.lnk文件,卻可以添加.url文件)
(2)Web安裝項目默認沒有用戶桌面和用戶程序菜單的添加,要"文件系統視圖-右鍵-添加特殊文件夾-***"中添加一些特殊操作
(3)Web安裝項目在安裝過程中用戶自己動態設置"虛擬目錄",所以.url文件中不能先前定死http://localhost/***,只能通過"安裝類"在自定義"安裝"操作時動態創建
2.創建"安裝類"并添加到Web安裝項目的"自定義操作"的"安裝"下,內容如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.IO;
using System.DirectoryServices;//操作IIS虛擬目錄
namespace InstallClass
{
??? [RunInstaller(true)]
??? public partial class InstallerClass : Installer
??? {
//重寫安裝方法
??????? public override void Install(System.Collections.IDictionary stateSaver)
??????? {
??????????? //創建桌面快捷方式及圖標,借助.url生成網絡快捷方式
??????????? base.Install(stateSaver);//先進行安裝,因為安裝后才會有安裝目錄
??????????? string fname = System.Reflection.Assembly.GetExecutingAssembly().Location;//獲取軟件安裝的物理目錄,形如:D:\Inetpub\wwwroot\Endy_Web\InstallClass.dll
??????????? //string fname2 = Context.Parameters["assemblypath"];//也可以獲取軟件安裝的物理目錄,和上面獲取的結果一樣,形如:D:\Inetpub\wwwroot\Endy_Web\InstallClass.dll
??????????? string[] sz = fname.Split(new char[] { '\\'});
??????????? StreamWriter sw = new StreamWriter(File.Open(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + "\\我的測試軟件.url", FileMode.Create, FileAccess.Write));
??????????? sw.WriteLine("[InternetShortcut]");
??????????? sw.WriteLine("URL=http://localhost/"+sz[sz.Length-2]);
??????????? sw.WriteLine("IconFile="+fname.Substring(0,fname.LastIndexOf("\\"))+"\\logo.ico");
??????????? sw.WriteLine("IconIndex=0");
??????????? sw.Flush();
??????????? sw.Close();
???? //創建用戶"程序"菜單快捷方式及圖標,借助.url生成網絡快捷方式(要和界面添加的用戶程序目錄一致)
??????????? /*處理"開始-程序"目錄的位置,因為默認SpecialFolder.Programs會到當前用戶的程序目錄下,而我們要處理到All User的程序目錄下,
??????????? 因為在web部署項目中添加卸載快捷方式時,我們在"文件系統視圖-右鍵-添加特殊文件夾-用戶的'程序'菜單"是添加到All User的程序目錄下的,所以下面用程序創建的要和界面添加的保持一致,
??????????? 同時當添加到All User的程序目錄下,那么所有用戶的程序菜單中都會有的*/
??????????? string str = Environment.GetFolderPath(Environment.SpecialFolder.Programs);
??????????? string[] arr = str.Split(new char[] { '\\' });
??????????? arr[arr.Length - 3] = "All Users";
??????????? string t = "";
??????????? foreach (string i in arr)
??????????????? t += i + "\\";
??????????? StreamWriter swr = new StreamWriter(File.Open(t + "Endy測試項目\\我的測試軟件.url", FileMode.Create, FileAccess.Write));
??????????? swr.WriteLine("[InternetShortcut]");
??????????? swr.WriteLine("URL=http://localhost/" + sz[sz.Length - 2]);
??????????? swr.WriteLine("IconFile=" + fname.Substring(0, fname.LastIndexOf("\\")) + "\\logo.ico");
??????????? swr.WriteLine("IconIndex=0");
??????????? swr.Flush();
??????????? swr.Close();
??????? }
//重寫卸載方法[本想卸載時刪除虛擬目錄和安裝目錄,但沒成功]
??????? public override void Uninstall(System.Collections.IDictionary savedState)
??????? {
??????????? base.Uninstall(savedState);//先進行卸載
??????????? //刪除虛擬目錄[有問題不能用]
??????????? //System.DirectoryServices.DirectoryEntry dirroot = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT");
??????????? //DirectoryEntry Dirport = dirroot.Children.Find("Endy_Web","IIsVirtualDir");
??????????? //Dirport.Invoke("AppDelete", true);
??????????? //dirroot.CommitChanges();
??????????? //刪除安裝文件夾[有問題不能用]
??????????? //string fname = Context.Parameters["assemblypath"];
??????????? //if (Directory.Exists(fname.Substring(0, fname.LastIndexOf("\\"))))
??????????? //{
??????????? //??? DirectoryInfo di=new DirectoryInfo(fname.Substring(0, fname.LastIndexOf("\\")));
??????????? //??? foreach (FileInfo f in di.GetFiles())
??????????? //??????? f.Delete();
??????????? //??? di.Delete();
??????????? //}
??????? }?????
??? }
}

最后客戶端安裝完畢后桌面生成快捷方式("我的測試軟件.url"實際上是看不到擴展名的)用記事本打開內容如下:
[InternetShortcut]
URL=http://localhost/EndyWeb
IconFile=C:\Inetput\wwwroot\EndyWeb\logo.ico
IconIndex=0

轉載于:https://www.cnblogs.com/zgqys1980/archive/2009/07/14/1523566.html

總結

以上是生活随笔為你收集整理的Web安装项目创建桌面快捷方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 11孩岁女毛片 | 久久精品黄色片 | 日本va在线观看 | 午夜毛片在线 | av在线色| 性一交一乱一色一免费无遮挡 | 好吊妞在线观看 | 极品美女销魂一区二区三区 | 人体私拍套图hdxxxx | 椎名空在线观看 | 日本少妇ⅹxxxxx视频 | 肥婆大荫蒂欧美另类 | 国产美女白浆 | 欧美黄色成人 | 日本欧美一区二区三区 | 爆操巨乳美女 | 欧美视频一区二区三区在线观看 | 亚洲av无码国产精品久久不卡 | 一本一道波多野结衣av黑人 | 精品日韩在线视频 | 日日碰| 国产大片av | 国产精品网站入口 | 国产成人福利视频 | 色婷婷激情综合 | 九九视频免费看 | 夜夜嗨av禁果av粉嫩avhd | 福利在线视频导航 | 欧美日韩国产伦理 | 国产精品午夜福利 | 国内精品视频一区 | 久草精品在线观看视频 | 娇妻被老王脔到高潮失禁视频 | 天天撸一撸 | 成人国产精品免费观看视频 | 在线观看中文字幕av | 欧洲av在线 | 麻豆av一区二区三区在线观看 | 91天堂网| 五月天婷婷导航 | 91视频免费视频 | 国产一区美女 | 91看视频 | 黑人精品一区二区三区 | 亚洲av少妇一区二区在线观看 | 嫩草影院中文字幕 | 欧洲性猛交 | 国产免费一区二区三区最新6 | 青青成人在线 | 男女精品视频 | 免费看黄色片子 | 一区二区三区日韩精品 | 黄色免费片 | 久久成年网 | 99国产精 | 久操热| www.avcao | 色91精品久久久久久久久 | 国产精品三级电影 | 国产中文字幕乱人伦在线观看 | 国产成人精品一区二区三区无码熬 | 精品人妻少妇嫩草av无码 | 人妻熟女一区二区三区 | 免费一区视频 | 色婷婷亚洲 | www.亚洲一区二区 | 五月综合色婷婷 | 51热门大瓜今日大瓜 | 国产美女被遭强高潮免费网站 | 国产叼嘿视频在线观看 | 天天看片天天操 | 色av中文字幕 | 在线天堂中文在线资源网 | 女人床技48动态图 | 91免费精品 | 毛片日韩 | 国产乱人乱偷精品视频a人人澡 | 女上男下动态图 | 91午夜理伦私人影院 | 中文字幕在线免费视频 | 美女露胸无遮挡 | 一个人在线观看免费视频www | 老外一级黄色片 | 69人妻精品久久无人专区 | 久久久久久艹 | 一级黄网站 | av黄色免费| 精品久久久久久久久久久久 | 亚洲剧情在线 | 国产成人精品久久二区二区91 | 国产精品成人久久久久 | 美女88av | 黄色网址哪里有 | 99精品一区二区 | 美女被c出水| 久久精品无码Av中文字幕 | 麻豆av一区二区三区久久 | 91久久久久久久久久久久久 | 婷婷丁香一区二区三区 |