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 部署数据库、开始菜单、桌面快捷方式实例

  • 相关阅读:
    斐波那契比率(2016-9-13)
    MQL5备忘(2016-8-28)
    [转载]联邦基金利率期货
    二十四节气对照表
    [Android] 为Android安装BusyBox —— 完整的bash shell(收藏用)
    如何调试分析Android中发生的tombstone
    Android log系统 转
    android 系统log文件路径
    GCM Architectural Overview
    google cloud message 运行成功0621
  • 原文地址:https://www.cnblogs.com/freeliver54/p/1145430.html
Copyright © 2011-2022 走看看