【问题标题】:Inform OS of installation通知操作系统安装
【发布时间】:2013-05-21 09:49:09
【问题描述】:

只是我感兴趣的一个问题,我注意到现代安装程序(适用于各种类型的程序)会提醒您等到另一个安装完成后再运行。

如何检查/通知其他安装人员?

使用 c# 或 python

【问题讨论】:

    标签: c# python operating-system installation


    【解决方案1】:

    AFAIK 无法“找到”其他正在运行的安装程序。至少不是在每个系统和每个安装程序上。唯一的好方法是使用支持类似 windows 安装程序的安装程序(但也只检查其他正在运行的 windows 安装程序)。

    一种可能的工作方式是使用安装程序的进程名称列表并检查其中一个是否正在运行。
    找到答案this 问题的另一种方法是检查注册表项 (1) 或使用 windows api (2)。但这两种方式只适用于 windows。

    要检查进程是否正在运行,您可以使用 python 模块psutil。打印所有进程名称的示例是:

    import psutil
    for p in psutil.process_iter():
        print p.name
    

    【讨论】:

    • 感谢您的回答,因此根据第二个链接(名为 2),如果我希望其他安装程序知道我正在安装并且他们不应该中断,我应该更新该注册表值?顺便说一句,我只在谈论 Windows。另一件事,从您的回答和其中的链接,我如何检查其他程序/安装程序(它们是程序......)是否使用我要更改的文件?以及如何让其他程序知道我使用了特定文件并且他们不应该“触摸”它。
    • 我无法回答所有这些问题,但我认为它应该可以简单地创建此注册表项(例如,使用 python 标准库中的docs.python.org/2.7/library/_winreg.html)。要检查文件是否在使用中,您还可以使用 psutil(已经有一个问题:stackoverflow.com/q/11114492/2325172)。对于所有这些,我建议搜索一个开源安装程序并查看它(例如github.com/jrsoftware/issrc,但它是用 delphi 编写的)。
    猜你喜欢
    • 1970-01-01
    • 2021-01-14
    • 2011-09-02
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    • 2019-10-27
    • 2022-01-17
    • 2017-01-19
    相关资源
    最近更新 更多