快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

解决.NET(WebApplication)安装部署的不能选择安装路径的问题

(一)说明
WebApplication安装部署时,不能选择安装路径;解决思路:
(1)创建一个控制台应用程序CreateWebDir.exe ,作用是创建 Web 虚拟目录。
(2)安装部署制作采用windows Application安装部署,不是WebApplication安装
部署。因为windows Application安装部署有选择路径的操作,选择的路径
保存在 [TARGETDIR]。
(3)在安装部署制作―“自定义操作”中[提交]下添加自定义操作,选择CreateWebDir.exe,其属性:
(A)Arguments = Bug2000 [TARGETDIR] ,即CreateWebDir.exe传入两个
参数。Bug2000指Web 虚拟目录;[TARGETDIR]指物理目录。
(B)InstallerClass = false,设置为非ProjectInstaller类

(二)创建一个控制台应用程序CreateWebDir.exe
(1) main.cs
(2)CreateWebDir.cs 见《IIS控制治理--Web虚拟目录的创建及治理》
(3)INIFile.cs 见《INI文件的操作(ASP.NET+C#)》

(三)main.cs 文件

using System;
using System.IO;
using System.DirectoryServices;
using System.Runtime.InteropServices;

namespace CreateWebDir
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Start
{
/// <summary>
/// 应用程序的主入口点。
/// 参数 args :
/// args[0] :虚拟路径
/// args[1] :物理路径
/// args[2] :服务器名,可以不输入,默认 localhost
///
/// 运行示例:
/// CreateWebDir.exe VirDirTest D:/work
/// CreateWebDir.exe VirDirTest D:/work deve-server
/// </summary>
[STAThread]
static void Main(string[] args)
{
int i;
string iniFile;
if (args.Length > 1)
{
iniFile = args[1];
if (iniFile.Substring(iniFile.Length-1,1)=="//")
iniFile = args[1]+"Bug2004.ini";
else
iniFile = args[1]+"//Bug2004.ini";
}
else
iniFile = @"C:/Bug2004.ini";

//string iniFile = @"D:/Bug2000.ini";
if (!File.Exists(iniFile))
{
using (FileStream fs = File.Create(iniFile))
{
fs.Close();
}
}

INIFile myINI = new INIFile(iniFile);

for(i=0;i<args.Length;i++)
{
myINI.IniWriteValue("WebDir","arg"+i.ToString(),args[i]);
}


string sServer = "localhost";
if (args.Length > 2) sServer= args[2];

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

if (iisMg.Exists(args[0]))
{
Console.Write(args[0]+ " is exist!");
myINI.IniWriteValue("WebDir","WebDirExist","true");
}
else
{
myINI.IniWriteValue("WebDir","WebDirExist","false");

iisMg.get_AnonymousUser();
string[] anonymousUser = new string[2];
anonymousUser[0] = iisMg.AnonymousUserName ;
anonymousUser[1] = iisMg.AnonymousUserPass ;

VirtualDirectory newVirDir = new VirtualDirectory(args[0],args[1],anonymousUser);
if (iisMg.Create(newVirDir))
{
Console.Write(args[0]+ " 创建成功!");
myINI.IniWriteValue("WebDir","WebDirCreated","true");
}
else
{
Console.Write(args[0]+ " 创建不成功!");
myINI.IniWriteValue("WebDir","WebDirCreated","false");
}
}

iisMg.Close();
}

}
}






返回类别: 教程
上一教程: C#里操作时间的例子!
下一教程: 动态加载树----treeView

您可以阅读与"解决.NET(WebApplication)安装部署的不能选择安装路径的问题"相关的教程:
· VS.NET Beta2安装后添加/删除程序不能正常启动的问题的解决方案
· VS.NET下水晶报表分发时的问题及解决2
· 未找到路径“D:/”的一部分 的问题解决
· 用.net 2003开发Windows CE应用,解决与pocket pc通讯的问题
· 利用.NET框架简化发布和解决DLL Hell问题(1)
    微笑服务 优质保证 索取样品