日期:2014-05-17  浏览次数:20742 次

用.net自带的打包工具如何让其安装完后自动执行一个bat文件
wuyq11(人生如梦) 的方法是

安装部署自定义安装类
System.Diagnostics.Process.Start("1.bat");  
Process p = new Process();
  p.StartInfo.FileName = "1.bat"; //设定程序名
   
  p.StartInfo.UseShellExecute = false;  
  p.StartInfo.RedirectStandardInput = true;  
  p.StartInfo.RedirectStandardOutput = true;  
  p.StartInfo.RedirectStandardError = true;  
  p.StartInfo.CreateNoWindow = true;  
  p.Start();  
  p.StandardInput.WriteLine(@"");
  p.StandardInput.WriteLine("exit"); 



那么我新建了一个类库,在类库里添加了一个安装程序类,下面我就不知道该怎么做了。这段代码写在哪?

另外如何设定路径,在这个类文件里无法引用using System.Windows.Forms;所以也无法写Application.StartupPath

------解决方案--------------------
意思是自己写一个exe文件,然后文件调用.bat 。将安装、注册之类的操作写在bat里面
------解决方案--------------------
探讨

嗯,我现在会写了,但出现了一个问题,我没法指定bat文件的路径,我想设置为安装目录,但这个类文件里无法引用using System.Windows.Forms;所以也无法写Application.StartupPath

------解决方案--------------------
你用windows services来控制
这样会执行的

------解决方案--------------------
试试:
System.Diagnostics.Process.Start(AppDomain.CurrentDomain.BaseDirectory + @"\reg.bat");
------解决方案--------------------
探讨

在安装项目的自定义操作 将属性CustomActionData的值等于/installdir="[TARGETDIR]\"
然后在安装类 string filePath = Context.Parameters["installdir"] + "reg.bat";获得安装路径
参考代码:
string filePath = Context.Parameters["installdi……