前言:
使用SmartInstallMaker 安装包制作工具完成打包程序,之前需还原DB,创建IIS站点,完成打包程序的制作。还涉及到为计算机创建用户、上传或者下载文件夹权限用户与共享的设置、IIS虚拟目录的创建及权限、用户的配置.下面分别阐述以上知识点的解决方案。
整体思路:计算机用户创建--->(DB、IIS、某几个文件权限的写入配置)--->读取配置DB还原--->读取配置forIIS站点配置、某几个文件权限--->虚拟目录创建及权限用户--->上传与下载文件夹权限与共享--->删除DB、IIS站点、安装文件夹(某几个)共享配置--->安装成功,进行测试。
第一:为计算机新增用户、文件夹权限用户与共享的设置,都可以使用运行cmd 命令即可
Code
1 #region 为计算机 创建 FileUser用户密码:sdzn123456 Add by:lei 2012-05-09 11:23 2 3 System.Diagnostics.Process p = new System.Diagnostics.Process(); 4 p.StartInfo.FileName = "CMD.EXE"; 5 6 p.StartInfo.FileName = "cmd.exe"; 7 p.StartInfo.UseShellExecute = false; 8 p.StartInfo.RedirectStandardInput = true; 9 p.StartInfo.RedirectStandardOutput = true; 10 p.StartInfo.RedirectStandardError = true; 11 p.StartInfo.CreateNoWindow = true; 12 p.Start(); 13 14 15 p.StandardInput.WriteLine("net user FileUser sdzn123456 /add"); 16 p.StandardInput.WriteLine("net localgroup administrators FileUser /add"); 17 p.StandardInput.WriteLine("exit"); 18 19 p.WaitForExit(); 20 21 #endregion
设置权限及共享
权限与共享 Code
1 #region 为uploadCenter文件设置共享及fileuser用户所有权限 Add by:LEI 2012-05-09 19:29(Program.filepath:具体c:\) 2 3 System.Diagnostics.Process p2 = new System.Diagnostics.Process(); 4 p2.StartInfo.FileName = "CMD.EXE"; 5 6 p2.StartInfo.FileName = "cmd.exe"; 7 p2.StartInfo.UseShellExecute = false; 8 p2.StartInfo.RedirectStandardInput = true; 9 p2.StartInfo.RedirectStandardOutput = true; 10 p2.StartInfo.RedirectStandardError = true; 11 p2.StartInfo.CreateNoWindow = true; 12 p2.Start(); 13 14 string s = "\"" + Program.filepath + "\\" + "UploadCenter1"+"\""; 15 16 p2.StandardInput.WriteLine("net share Upload= " + s + " /grant:fileuser,full"); 17 p2.StandardInput.WriteLine("exit"); 18 19 p2.WaitForExit(); 20 21 #endregion
第二:iis虚拟目录创建及用户配置(网上搜索很多种解决方案,最终参考这个,感谢作者)
第三:写DB、iis、文件权限的配置(注意:路径与参数)
以写DB配置为例:
实际:使用一个Ini类里面的set_value方法
第四:读取以上三个配置分别进行 DB还原 IIS站点创建 文件夹权限配置
以DB为例:
DB还原 Code
1 System.Diagnostics.Process exep1 = new System.Diagnostics.Process(); 2 exep1.StartInfo.FileName = Program.filepath + @"\Web\setup\自动配置数据库_控制台版V1.0_20120502.exe"; 3 exep1.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized; 4 exep1.StartInfo.CreateNoWindow = false; 5 exep1.StartInfo.UseShellExecute = false; 6 exep1.Start(); 7 exep1.WaitForExit();
实际:调用外部exe小程序进行还原(具体小程序功能根据传入参数的不同进行备份、还原、删除等操作)
第五:删除配置三个文件,直接删除文件所在文件夹即可(注意:路径)
Directory.Delete(Program.filepath + @"\Web\setup", true);
总结:
1.虚拟目录创建与配置用户耗时较多,主要是网上搜索资料有限以及资料的真伪性。
2.对创建计算机用户、共享权限尽可能让程序(cmd)去做,代替实施人员的操作。
3.调用外部exe的思路的学习。