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在安装目录中存在。为什么会出现错误,如何解决?

Visual Studio 2008中自定义操作出错

我认为安装目录不是自动运行安装程序的目录,所以您不能假设Process.Start("PostInstall.bat")会找到批处理文件。

这篇DevCity的文章很好地介绍了这个主题,并告诉您如何将安装目录传递给您的自定义操作对象,以便您可以为您的批处理文件创建完整的路径名。

你有没有想过批处理文件运行时会发生什么?是否要等到安装完成后再进行下一阶段的安装?

理想情况下,自定义操作应该用本机代码编写,如果在您的情况下不可能,请尝试以Administrator身份运行.msi