zoukankan      html  css  js  c++  java
  • VS2005 Web安装程序 创建程序菜单组

    本示例的效果如下:

                            |FreeWebB-> |图标 OpenMyWeb
                            |                 |图标 UnstallMyWeb
                            |
             |所有程序->|
    开始->|

    也就是将属于本程序相关的快捷菜单都放在一个程序文件夹下

    主要代码如下:

    public override void Install(System.Collections.IDictionary stateSaver)
    {
        base.Install(stateSaver);

        #region 程序目录下自定义目录FreeWebB

        string strVDir2 = Context.Parameters["VDIR"].ToString();
        string address2 = @"http://localhost/" + strVDir2 + "/Default.aspx";
        //取得启动目录
        string startMenu = Environment.GetFolderPath(Environment.SpecialFolder.Startup);
        //取得程序目录
        string processDir = startMenu.Substring(0, startMenu.LastIndexOf("\\"));
        //判断 程序目录 下 自定义的软件目录FreeWebB是否存在
        string freeWebDir = processDir + "\\FreeWebB";
        if (!Directory.Exists(freeWebDir))
        {
            Directory.CreateDirectory(freeWebDir);               
        }
        stateSaver.Add("processDirFreeWebB", freeWebDir);
        //FreeWeb目录下的软件相关链接指向
        string path2 = processDir + "\\FreeWebB\\OpenMyWeb.url";
        //自定义的图标文件路径
        string logoPath2 = new FileInfo(System.Reflection.Assembly.GetExecutingAssembly().Location).Directory.FullName + "\\WebLogo.ico";
        FileInfo fi2 = new FileInfo(path2);
        using (StreamWriter sw2 = fi2.CreateText())
        {
            sw2.WriteLine("[InternetShortcut]");
            sw2.WriteLine("URL=" + address2);
            sw2.WriteLine("IconIndex=0");
            sw2.WriteLine("IconFile=" + logoPath2);
        }
        stateSaver.Add("processFreeWebB", path2);

        #endregion
    }

    public override void Uninstall(System.Collections.IDictionary savedState)
    {
        base.Uninstall(savedState);
        if (File.Exists(savedState["processFreeWebB"].ToString()))
        {
            File.Delete(savedState["processFreeWebB"].ToString());
        }

        if (Directory.Exists(savedState["processDirFreeWebB"].ToString()))
        {
            Directory.Delete(savedState["processDirFreeWebB"].ToString(),true);
        }
    }
    更多详细的安装包制作相关
    请参看
    [转]一次.NET Web应用程序安装包的制作经历:Sql数据库安装的3种方式 配置IIS及Web.Config文件

    [转]asp.net 部署数据库、开始菜单、桌面快捷方式实例

  • 相关阅读:
    "用脑思考"和"用心感知"
    Oracle 分页查询
    MySQL定时执行存储过程
    java商城小程序收藏
    巴士团小程序
    微信小程序this作用域
    Flink之API的使用(3):Source的使用
    Flink之API的使用(2):Transform算子的使用
    Flink之API的使用(1):Sink的使用
    Flink之基础内容(2):DataStream的创建和使用
  • 原文地址:https://www.cnblogs.com/freeliver54/p/1145430.html
Copyright © 2011-2022 走看看