AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 127702
Accepted
Oded
Oded
Asked: 2010-03-31 06:37:21 +0800 CST2010-03-31 06:37:21 +0800 CST 2010-03-31 06:37:21 +0800 CST

尝试在 2008 r2 上安装 32 位 delphi 服务时崩溃

  • 772

我有一个旧的 32 位 delphi 应用程序(没有源代码),用作 Windows 服务。它在 windows 2003 32bit 上运行良好。

我不知道它最初是作为服务创建的,还是后来转换为服务的。它应该使用/install命令行上的标志安装到服务器。

尝试在 Windows 2008 R2 虚拟机上安装它时,我在事件日志中收到 APPCRASH 事件。

该服务应该从远程 SQL Server 实例读取 blob 并将其写入本地 HD。它还从注册表中读取一些初始化数据。

有什么方法可以将此应用程序作为服务安装在 Windows 2008 r2 64bit 上?

如果没有,我可以尝试任何解决方法吗?

你有什么建议?

windows-service 32bit-64bit windows-server-2008-r2 delphi
  • 7 7 个回答
  • 4960 Views

7 个回答

  • Voted
  1. Ricardo Pardini
    2010-04-09T14:51:13+08:002010-04-09T14:51:13+08:00

    我们自己编写了很多 Delphi 32 位服务,唯一真正帮助我们“调试”在没有源代码的服务器(包括 64 位)上运行的服务是Sysinternal(现在是 Microsoft Technet)进程监视器。

    在您的特定情况下,我会下载 Process Monitor(它是一个简单的可执行文件)并运行它,然后将其设置为仅过滤您的服务的 .exe 应用程序。寻找它的文档,但这实际上是一个非常简单的过滤器。

    启动服务时,让进程监视器在两台机器上运行(过滤)。比较 Process Monitor 的结果。我敢打赌,你有一些东西,比如缺少注册表项,或者缺少目录或权限,这会导致 Delphi 应用程序引发异常。这应该很容易在 Process Monitor 上发现。如果您有一台工作机器可以比较,那就更是如此。

    • 1
  2. Shabazza
    2010-09-16T01:09:15+08:002010-09-16T01:09:15+08:00

    我遇到了同样的问题,但是 Ricardo Pardini 对 Process Monitor 的提示是解决方案,我发现该服务(即使在刚刚安装它时)正在寻找一个不在应用程序目录或搜索中的 dbExpress DLL小路。将 DLL 复制到同一文件夹中解决了该问题。

    • 1
  3. pehrs
    2010-04-06T04:08:16+08:002010-04-06T04:08:16+08:00

    如果无法访问应用程序或无法跟踪它可能崩溃的原因,我只能提供一些可能有帮助的一般性想法。

    如果它只是一个 POS(普通旧服务;)),您可以按照http://support.microsoft.com/kb/251192此处的说明手动将其安装为服务。这样,如果应用程序本身正常工作,您将绕过失败的安装例程。

    您也可以尝试使用兼容模式运行它。旧的 Delphi 应用程序可以从中受益匪浅。

    • 0
  4. tony roth
    2010-04-06T06:27:32+08:002010-04-06T06:27:32+08:00

    ms也有几个r2的应用程序兼容性更新,所以如果你还没有点击windows更新和下载。

    你也可以在没有 /install 参数的情况下直接运行应用程序吗?

    • 0
  5. Jim B
    2010-04-06T06:38:23+08:002010-04-06T06:38:23+08:00

    它可能试图从 64 位版本的 windows 而不是 32 位版本的 windows 中读取内容。确保您已安装 32 位 sql server 客户端并正常运行。除了那个帖子 appcrash 应该告诉你在 wow32 中放入哪个 DLL。

    • 0
  6. Best Answer
    Oded
    2010-04-12T23:27:21+08:002010-04-12T23:27:21+08:00

    我们决定在此期间继续在 32 位操作系统上运行,并在 .NET 中重写这个应用程序......

    • 0
  7. user65237
    2011-05-11T06:51:54+08:002011-05-11T06:51:54+08:00

    你没有提到任何关于 UAC 的事情。完全禁用 UAC,然后重试。

    • 0

相关问题

  • 如果 Windows 服务崩溃,如何自动重新启动它?

  • 如何授予用户安装 Windows 服务的能力?

  • Windows:我可以为服务帐户映射网络驱动器吗?

  • 无法使用 sc 命令删除现有服务:指定的服务不作为已安装的服务存在

  • 如何使用脚本远程重启 Windows 服务?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve