windows-services - 每次服务器从 windows server 2012 R2 重新启动时,已安装的程序都会自动删除
问题描述
我在 C# 中创建了一项服务并为此创建了安装程序。安装程序工作正常并且服务已正确安装在服务器上。但这里有一个问题。当服务器重新启动连接到服务的程序会自动从 C:\ProgrameFiles 位置删除,但服务仍然存在并且重新启动此服务时。我收到类似“windows 找不到指定的程序路径”的提示。有人可以帮助我在这里缺少什么或导致此问题的潜在原因是什么?
我知道这个问题的范围太广而无法回答,但我仍然想要一些提示或任何解决方案来解决这个问题。我试图搜索许多论坛,但不幸的是没有运气。请在投票结束此问题时考虑。我可以进行更多编辑以澄清这种情况。
谢谢。
解决方案
- 这是什么服务器?终端服务器?
- 更新:不是
virtual machine
吗?如果是这样,磁盘设置是否完全持久?See 9
.- 如果您在有问题的 MSI 上运行修复,文件会恢复吗?
- 如果您直接使用恶意软件扫描程序检查文件会发生什么?
- 如果手动关闭服务,文件还在吗?(只是要确定)。尝试反复停止和启动服务几次。
- 您是否验证了该服务在安装后从您期望的位置运行?(不得不问)
- 您是按机器安装还是按用户安装?
调试
检查事件查看器和 MSI 日志文件:
MSI 日志记录:安装站点:MSI 日志“操作方法”和/或更多 MSI 日志记录信息。
事件查看器:按住Windows Key、点击R、键入eventvwr.msc
并按下Enter。去Windows Logs => Applications
。寻找MsiInstaller events
。也检查其他日志 (Security
,System
,Configuration
)。
部署助记符:还有一个“部署助记符”(黄色部分)——一些思考部署问题的启发式方法。
一些想法
松散的大炮:在我们等待您的反馈时,让我们从臀部发出一系列建议。其中一些是坏的或被消除的原因,让我们列出所有的,以记住坏的:
1)
隔离的恶意软件?(真实或误报,无所谓)。该文件在每次重新启动时都会被隔离?将文件上传到virustotal.com以检查丢失的二进制文件。如果您需要获取文件,请执行管理安装。
(在这种情况下不是原因,但 MSI 主要升级可能会导致此类问题 - 例如当您尝试将文件降级到较低版本时)。2)
升级问题?
3)
系统策略? 不太熟悉可以删除文件的策略——如果有的话。只是提到很多策略通常会影响 Windows。检查事件日志。某些注册表项会定期覆盖,例如使用定义的 AD 设置。
4)
清理脚本?这里一切皆有可能,但删除一个精确的可执行文件会很奇怪吗?检查启动时运行什么?自动运行。运行该工具并查看自动启动的二进制文件——大多数系统上都有很多。
据我所知,这里不相关,但系统还原可以做非常奇怪的事情,例如从意想不到的地方删除单个文件。是的,我已经看到了(不是狂热分子——我在那里——在末日山的大火中——它真的发生了)。5)
系统还原?
6)
恢复硬件?某些计算机具有硬件设备,可在重新启动时将系统恢复到早期状态,并提供各种选项以允许在这里和那里保持一些持久性。不知道这些现在有多流行,但我希望它们能用于快速的恶意软件恢复和类似的东西。与您的系统管理员交谈?
7)
权限?包是否将 ACL 权限应用于相关文件夹?它不应该导致这个问题,但也许检查一下。如果权限错误,该服务将永远无法启动。
8)
磁盘损坏?一个必须经常检查的问题。
9)
虚拟机?想到的一个问题是该服务器是否作为虚拟机运行,如果是,磁盘设置是否是完全持久化的?不确定当前日期和时间在技术上是可行的。
另一个问题 - 匆忙添加 - 从 Windows 8 开始,一些图标可以隐藏在 Windows 开始菜单中(我相信,细节模糊)。我想这可能会产生一种产品已被卸载的印象,而它只是被隐藏起来。几乎可以肯定与您的情况无关。10)
隐藏图标?
问题
PendingFileRenameOperations:安装后,是否有条目PendingFileRenameOperations
?安装前也要检查。
- 是否有等待重启的挂起操作?
- 地点:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager
回滚:更模糊的是,Windows Installer 是否禁用回滚?我看不出这会如何导致这个问题,但它是可能的,它触发了什么,我不确定。
位混淆:人们可能只是认为文件丢失了,因为他们在错误的文件夹中查找(x86 而不是 x64,反之亦然)。此处不相关(然后服务将启动 - 除非有其他问题),但列出以记住其他类似情况。
“外面”:这是C:\Program Files\
对的吗?不是C:\ProgramData\
吗?NTFS 分区上是否有挂载的磁盘?任何符号链接?漫游配置文件?您是按机器安装还是按用户安装?
推荐阅读
- python-3.x - 如何安排函数在固定时间点运行?
- java - 比较两个字符串时出现问题
- android - 如果使用导航控制器,如何删除某些片段中的底部导航视图和工具栏?
- javascript - 如何在 JavaScript 中清空数组?
- r - 在 sfClusterCall() 中使用 save()
- python - 如何在 2.1 版中从 django 数据库中清除缓存?
- python - python install zbar错误:安装脚本退出错误:命令'gcc'失败,退出状态为1
- bigdata - 字符串列不在指标内列出,仅允许在 GoodData 中创建报告时从指标中选择数字列类型
- azure - 授予 Azure Active Directory 中的外部用户访问共享点站点的权限
- python - 未获得与分配标签相关的特定成本