2

我正在尝试在 Visual Studio 2010 中使用 PostBuildEvent 运行 .js 文件,但当我使用错误代码构建解决方案时失败

错误 2 'PostBuildEvent' 失败,错误代码 '1' 'Error no especificado'

我已经检查了我的项目和 js 文件中的文件名、路径和代码,一切似乎都正确...... js 文件包含这个

// http://blogs.msdn.com/b/heaths/archive/2006/02/01/64-bit-managed-custom-actions-with-visual-studio.aspx
var msiOpenDatabaseModeTransact = 1;
var msiViewModifyUpdate = 2

var filespec = WScript.Arguments(0);
var projdir = WScript.Arguments(1);
var installer = WScript.CreateObject("WindowsInstaller.Installer");
var database = installer.OpenDatabase(filespec, msiOpenDatabaseModeTransact);

// Update the Binary table...
var sql = "SELECT `Name`,`Data` FROM `Binary` where `Binary`.`Name` = 'InstallUtil'";
var view = database.OpenView(sql);
view.Execute();
var record = view.Fetch();
record.SetStream(2, projdir + "InstallUtilLib.dll");
view.Modify(msiViewModifyUpdate, record);
view.Close();
database.Commit();

有人已经解决了这样的问题吗?任何帮助,请...

4

2 回答 2

0

由于您使用的是 Visual Studio 安装程序,因此 JS 文件的位置也很重要。您的 js 文件应与安装项目的 .vdproj 文件位于同一目录中。

这应该对您有所帮助 http://blogs.msdn.com/b/astebner/archive/2006/08/12/696833.aspx

于 2012-04-11T09:31:58.133 回答
0

在拼命尝试解决问题的过程中,我找到了解决方案。检查完其他所有内容后,我将我的项目移动到另一个文件夹,我发现路径太长了。

我的项目路径尽管少于 255 个字符(如 Microsoft 站点所示),但仍会导致 Visual Studio 2010 返回此错误。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

但请注意,在其他情况下,可能是由于其他错误导致的一点解释性错误。在我的情况下解决了这个问题。

于 2012-04-11T17:22:24.183 回答