gpt4 book ai didi

windows-services - 如何修复 'Setup project with custom action file not found' 异常?

转载 作者:行者123 更新时间:2023-12-03 10:55:03 25 4
gpt4 key购买 nike

我正在尝试为 Windows 服务创建一个安装项目。我已按照 http://support.microsoft.com/kb/816169 中的说明进行操作轻松创建安装项目。

我希望能够在安装过程中获得一个值,以便使用用户所需的设置更新 app.config。我添加了一个文本框 (A) 对话框来检索值。我将 Edit1Property 属性设置为“TIMETORUN”,并在我的主要输出操作的 CustomActionData 属性中输入以下内容:/TimeToRun="[TIMETORUN]\"。到现在为止还挺好。运行设置我可以毫无问题地从 Context.Parameters 集合中检索 TimeToRun 值。

为了找到 app.config,我还需要将 TARGETDIR Windows Installer 属性的值传递给我的自定义操作。这就是事情开始分崩离析的地方。为了实现这一点,必须像这样修改上面的 CustomActionData:/TimeToRun="[TIMETORUN]\"/TargetDir="[TARGETDIR]\"。现在,当我运行安装程序时,我收到以下错误消息:

Error 1001. Exception occurred while initializing the installation. System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\Windows\SysWOW64\Files' or one of its dependencies. The system cannot find the file specified.



如果你用谷歌搜索这个问题,你会不可避免地发现人们通过简单地将尾部斜杠添加到 CustomActionData 的/TargetDir="[TARGETDIR]\"部分而获得了巨大的成功。不幸的是,这并不能解决我的问题。

我尝试了 CustomActionData 字符串的许多不同变体,但都没有奏效。我尝试从我覆盖的 Install 方法记录到文件以确定损坏的位置,但没有创建日志文件,因为它甚至还没有那么远。如错误所示,故障发生在初始化步骤期间。

我有一种预感,它可能是安装项目试图加载的依赖项之一。也许某些东西被附加到 CustomActionData 字符串并且与 TARGETDIR 值(包含空格,即“C:\Program Files\My Company\Project Name”)配合得不好。同样,由于我无法调试安装过程,这是我似乎无法确认的另一个预感。

还有一件事要提到,是的,这是另一种预感,这可能是 64 位版本 Windows 上安装项目的问题吗?我正在运行 Windows 7 专业版。

如果有帮助,我将提供依赖项的名称:
  • Microsoft .NET 框架
  • Microsoft.SqlServer.DtsMsg.dll
  • Microsoft.SqlServer.DTSPipelineWrap.dll
  • Microsoft.SqlServer.DTSRuntimeWrap.dll
  • Microsoft.SQLServer.ManagedDTS.dll
  • Microsoft.SqlServer.msxml6_interop.dll
  • Microsoft.SqlServer.PipelineHost.dll
  • Microsoft.SqlServer.SqlTDiagM.dll

  • 您可能从依赖项中了解到,Windows 服务正在调度对 DTSX 包的调用。

    对不起,长时间的咆哮。感谢您的任何帮助,您可以提供。

    最佳答案

    答案非常简单。如果 CustomActionData 中的最后一个参数将包含空格,因此您必须用引号和斜杠将其括起来,您还必须在斜杠后面有一个空格,如下所示:

    /TimeToRun="[TIMETORUN]\" /TargetDir="[TARGETDIR]\ "

    解决方法和解释可以在 here找到.

    关于windows-services - 如何修复 'Setup project with custom action file not found' 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4516256/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com