解决.NET(WebApplication)安装部署的不能选择安装路径的问题 [转]
2007-09-30 17:39
597 查看
(一)说明
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();
}
}
}
出处:http://www.chinageren.com/chengxu/ASP_NET/chengxu_29802.html
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();
}
}
}
出处:http://www.chinageren.com/chengxu/ASP_NET/chengxu_29802.html
相关文章推荐
- 解决.NET(WebApplication)安装部署的不能选择安装路径的问题
- 解决Web安装程序不能选择安装目录问题(3)
- 解决Web安装程序不能选择安装目录问题(2)
- 解决Web安装程序不能选择安装目录问题(1)
- vs2015第二次装安装不能选择路径问题解决方法
- 解决Web安装程序不能选择安装目录问题(4)
- 解决 web服务器部署常见问题,server application unavailable 和 程序无法连接数据库 的问题(asp.net 2.0 + oracle9i + winXP)
- 解决tomcat中administration web application 的安装问题
- Setup Factory 安装程序用户选择路径问题的解决
- 安装.net2005不能建立web项目的问题
- 解决win8.1安装无法选择路径问题
- myeclipse 与Eclipse web工程相互导入部署问题解决---Tomcat 不能识别工程总结
- 解决Visual Studio2015安装路径不能修改的问题
- 关于修改.net自带的安装部署项目中默认路径的有关问题,在哪修改默认安装路径
- 如何解决因为找不到Notepad++的安装路径而导致的不能更新CS-Script的问题
- [web相关]解决MSVCR100.dll丢失的问题 (WAMP安装后不能启动)
- 关于“Web 创作组件” 解决MS Office 2007找不到Office.zh-cn问题以及VS2008 SP1 安装失败需指定visualwebdeveloperww.msi所在路径
- 关于“Web 创作组件” 解决MS Office 2007找不到Office.zh-cn问题以及VS2008 SP1 安装失败需指定visualwebdeveloperww.msi所在路径
- 解决上线web项目部署WebSphere Application Server下面乱码问题
- 怎样解决Java Web项目更改项目名后报错以及不能找到web路径问题