Visual Studio 2008中自定义操作出错
本文关键字:操作 出错 自定义 Studio 2008 Visual | 更新日期: 2023-09-27 18:03:54
我是c#世界的新手,虽然我正在尝试使用自定义操作修改安装程序。我要做的是在安装完成后运行批处理脚本。我使用以下安装程序类:
namespace PostInstall
{
[RunInstaller(true)]
public partial class Installer1 : Installer
{
public Installer1()
{
InitializeComponent();
System.Diagnostics.Process.Start("PostInstall.bat");
}
}
}
一个名为PostInstall的项目包含一个*.cs文件,其中包含上面的代码。该项目是根据该链接的"创建自定义操作"部分创建的。在安装项目中,我添加了PostInstall项目的主要输出在Install &按链接中的描述提交节点。
但是在安装结束时收到以下错误:
错误1001。无法创建实例PostInstall。Installer1安装程序类型->异常已被调用。->系统找不到指定的文件。
我验证了PostInstall.bat
在安装目录中存在。为什么会出现错误,如何解决?
我认为安装目录不是自动运行安装程序的目录,所以您不能假设Process.Start("PostInstall.bat")
会找到批处理文件。
这篇DevCity的文章很好地介绍了这个主题,并告诉您如何将安装目录传递给您的自定义操作对象,以便您可以为您的批处理文件创建完整的路径名。
你有没有想过批处理文件运行时会发生什么?是否要等到安装完成后再进行下一阶段的安装?
理想情况下,自定义操作应该用本机代码编写,如果在您的情况下不可能,请尝试以Administrator身份运行.msi