网站安装打包 新建网站[四][文件解压] 上
在新建网站之前,就是要把打包好的项目拷贝一份到IIS指定的路径上,同时,还要为个别目录设置相应的访问权限!
于是就产生了两件事:
1。拷贝-》[这里我是采用RAR打包,然后解压]
2。设置权限
如果是用拷贝方式,关于文件夹Copy,可以参考我的这篇文章:
文件夹复制操作(非递归循环遍历文件夹)
http://www.cnblogs.com/cyq1162/archive/2007/05/28/762294.html
为什么我没采用拷贝的方法,前提有两个,就是项目的文件夹有太多,在制作应用程序安装程序时,只能添加文件,而文件夹只能一个一个的新建,太麻烦!要不就要把项目文件放到其它工程里,那通过项目主输出来实现。我也不想放到新工程或集成到工具项目里,麻烦!
于是,我通过压缩项目文件,当然没有压缩web.config,因为web.config是要修改的,在压缩包里就改不了。所以最后的做法是解压RAR+文件拷贝web.config!
关于RAR解压,这里给出一段代码就算解决了:
![ExpandedBlockStart.gif](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
![复制代码](http://common.cnblogs.com/images/copycode.gif)
{
Process rarPro = new Process();
rarPro.StartInfo.FileName = AppConfig.SoftSetup_WinRARSystemPath;
rarPro.StartInfo.Arguments = string.Format(" x \"{0}\" \"{1}\" -o+ -r -ibck", rarFromPath, rarToPath);
rarPro.StartInfo.UseShellExecute = false;
rarPro.StartInfo.RedirectStandardInput = true;
rarPro.StartInfo.RedirectStandardOutput = true;
rarPro.StartInfo.RedirectStandardError = true;
rarPro.StartInfo.CreateNoWindow = true;
rarPro.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
rarPro.OutputDataReceived += new System.Diagnostics.DataReceivedEventHandler(p_OutputDataReceived);
rarPro.ErrorDataReceived += new DataReceivedEventHandler(rarPro_ErrorDataReceived);
rarPro.Start();//解压开始
rarPro.BeginOutputReadLine();
rarPro.BeginErrorReadLine();
rarPro.WaitForExit();
rarPro.Dispose();
return IsOK;
}
void rarPro_ErrorDataReceived(object sender, DataReceivedEventArgs e)
{
if (e.Data!=null e.Data != "")
{
outMsg.Text += "失败:" + e.Data + "\r\n";
IsOK = false;
}
}
void p_OutputDataReceived(object sender, System.Diagnostics.DataReceivedEventArgs e)
{
if (e.Data != null e.Data != "")
{
outMsg.Text+="成功:" + e.Data + "\r\n";
}
}
![复制代码](http://common.cnblogs.com/images/copycode.gif)
AppConfig.SoftSetup_WinRARSystemPath这个是就是安装的RAR.exe路径!
-ibck参数是让解压在后台运行,这样可以不用弹出个解压框!
前些天也写过一篇和RAR相关的文章:
记录下关于调用RAR解压缩的问题
http://www.cnblogs.com/cyq1162/archive/2010/01/13/1646678.html
OK,RAR解压就这么告一段落,接下来,我有一个App_Data目录,由于会往里面写生成的xml,所以为之添加一个可写权限!
设置权限的方式有三种,一种用net自带的封装类。另一种直接调用cacls.exe实现,还有一种就是网上下的调用Microsoft.win32的某种复杂方式。
以下就用第一种了。用net自带的类实现,非常的简单,三行代码:
![ExpandedBlockStart.gif](http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
fSec.AddAccessRule(new FileSystemAccessRule("everyone", FileSystemRights.FullControl, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow));
System.IO.Directory.SetAccessControl(path, fSec);
这里是添加了一个everyone用户,当然也可以换成aspnet用户,具体看安全性要求给了!后面就给出了所有权限。
具体关于权限的说明,多百google度或在vs下看按F1帮助文档就清楚了!
打完,收工!
版权声明:本文原创发表于博客园,作者为路过秋天,原文链接:
http://www.cnblogs.com/cyq1162/archive/2010/01/22/1653822.html
wxpython-通过request远程下载网络zip文件,并解压安装文件 1.通过wxpython,产生一个窗体,窗体上有一段[文字标签],一个[进度条],一个[开始按钮]。 2.点击【开始按钮】,下载网络资源文件http://example.cn/test.zip。进度条和文字标签同时显示百分比 3.下载完成后,解压到指定目录。如果指定目录下有文件,则覆盖掉。
java下载多文件夹的文件最终打zip包返回给用户 业务需求,需要做一个导出用户单据图片的功能,需求为:按单据单号分文件夹分别存储单据的图片!最终导出zip包给用户。通过网上各种找代码,写出一个小demo,供各位看官学习! // 假装是一个单据集合 List String imgUrls = new ArrayList (); imgUrls.
相关文章
- Linux文件共享(五)——线程共享文件
- PHP中多个文件包含的问题 (一)
- MyEclipse安装Eclipse Memory Analyzer插件,并进行错误文件分析流程
- Microsoft Visual Studio Installer Projects 安装包的制作案例--------打包Winform安装程序自定义安装以及设置开机启动和卸载时删除多余的文件
- winform无需安装pdf阅读器打开pdf文件
- MT7621安装的openwrt出现无法删除文件的问题
- 《UNIX网络编程(第3版)》unp.h等源码文件的编译安装
- Solidworks提示字体Arial Unicode MS安装不正确,PDF文件中一个或多个文本字串可能遗失怎么办
- 安装完QQ必须要删除掉的几个恐怖文件
- web.xml的schema文件
- 使用RichTextBox控件保存文件
- ls的使用以及显示隐藏文件
- Apache Spark技术实战(三)利用Spark将json文件导入Cassandra &SparkR的安装及使用
- nvm安装后出现‘node‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
- 使用Workbench导出为【sql】脚本文件
- 已解决无法加载文件 E:day_01Scriptsactivate.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?Li
- WEB漏洞攻防 - 文件上传漏洞 - 条件竞争 [代码逻辑]
- 【Android 逆向】APK 文件格式 ( Android 应用安装 | Zip 文件格式 | 使用 Python 代码提取 APK 文件 )
- Centos安装jdk1.8出现-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录错误。
- 安装mingw后,在命令窗体编译c文件
- MATLAB中文件的读写和数据的导入导出
- 一些开源搜索引擎实现——倒排使用原始文件,列存储Hbase,KV store如levelDB、mongoDB、redis,以及SQL的,如sqlite或者xxSQL
- labelme的安装以及如何用labelme标注的json文件转换成coco和pascal voc数据集的格式进行深度学习的训练
- 树莓派上安装下载的.whl文件