ASP

本类阅读TOP10

·asp常用数据库连接方法和技巧
·无组件生成BMP验证码
·一些常用的辅助代码 (网络收藏)
·JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
·VisualStudio.NET_2003及其 MSDN 下载地址
·ASP模拟MVC模式编程
·图片以二进制流输出到网页
·MD5加密算法 ASP版
·ASP.NET编程中的十大技巧
·改进 ASP 的字符串处理性能

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Web安装程序不能选择安装目录问题(2)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

(1)main()函数
  /// <summary>
  /// 应用程序的主入口点。
  /// 参数 string[] args :
  /// args[0] :物理路径
  ///
  ///制作安装盘说明: [TARGETDIR]指当前安装路径
  /// (1)在“自定义操作===>安装”--->属性
  /// (2)属性 Arguments : [TARGETDIR]
  /// (3)属性 InstallerClass : false
  ///
  ///为什么要使用setVDir.ini
  /// 因为在进行安装Web应用程序时,Environment.CurrentDirectory取得的
  /// 当前目录是 C:\WINNT\system32 ,因为它运行在system32,而不是在安装目录运行
  /// 因此需要从Main()传入安装目录,把它临时写入setVDir.ini,在设置虚拟目录时从中读出
  ///</summary>
  [STAThread]
  static void Main(string[] args)
  {
    string iniFile;
    if (args.Length>0)
    {
      iniFile = Environment.CurrentDirectory+@"\setVDir.ini"; //C:\WINNT\system32\setVDir.ini
      if (!File.Exists(iniFile))
      {
        using (FileStream fs = File.Create(iniFile))
      {
        fs.Close();
      }
    }

    //当前安装路径 保存到 C:\WINNT\system32\setVDir.ini
    INIFile myINI = new INIFile(iniFile);
    myINI.IniWriteValue("MatNET","phyDirectory",args[0]);
    }

    Application.Run(new Form1());
  }
(2)设置按钮事件
  private void btOK_Click(object sender, System.EventArgs e)
  {
    string iniFile,webDir,phyDir;
    string sServer = "localhost";
    webDir = textBox1.Text.Trim(); //虚拟目录
    iniFile = Environment.CurrentDirectory+@"\setVDir.ini"; //C:\\WINNT\system32\setVDir.ini
    INIFile DirINI = new INIFile(iniFile);
    phyDir = DirINI.IniReadValue("MatNET","phyDirectory");  //读取Main()传入的安装目录

    IISManager iisMg = new IISManager(sServer);
    iisMg.Connect();

    if (iisMg.Exists(webDir))
    {
      MessageBox.Show("虚拟目录 [" +webDir+ "] 已经存在!");
      textBox1.Focus();
    }
    else
    {
      iisMg.get_AnonymousUser();
      string[] anonymousUser = new string[2];
      anonymousUser[0] = iisMg.AnonymousUserName ;
      anonymousUser[1] = iisMg.AnonymousUserPass ;

      VirtualDirectory newVirDir = new VirtualDirectory(webDir,phyDir,anonymousUser);
      if (iisMg.Create(newVirDir))
      {
        if (iniFile.Substring(iniFile.Length-1,1)=="\\")
          iniFile = phyDir+"mat3NET.ini";
        else
          iniFile = phyDir+@"\mat3NET.ini";

        if (!File.Exists(iniFile))
        {
          using (FileStream fs = File.Create(iniFile))
          {fs.Close();}
        }

        INIFile myINI = new INIFile(iniFile);

        myINI.IniWriteValue("MatNET","virtualDir",webDir);
        myINI.IniWriteValue("MatNET","serverIP","http://127.0.0.1/"+webDir+"/")
      }
      else
      {
        MessageBox.Show("[" +phyDir+ "]虚拟目录 [" +webDir+ "] 创建不成功!");
      }
    }
    iisMg.Close();
    Close();
  }



相关文章

相关软件