如何通过简单的卸载前脚本扩展distutils?

1 投票
1 回答
881 浏览
提问于 2025-04-16 02:09

我找到了一个关于安装后操作的帖子,链接在这里:Question#1321270。我现在主要关注的是 bdist_wininst,但没有找到关于卸载的相关内容...

为了更清楚:
我想在安装后注册一个 com 服务器,并在卸载前取消注册它。

详细回答:
ars 的回答看起来是对的,不过为了更全面(我觉得文档在这个话题上还有改进的空间...):
我并没有像提到的那样去扩展 distutils.command.install,而是写了一个新的 Python 脚本,叫做 scripts/install.py,并在 setup.py 中设置了以下内容:

setup(
    ...
    scripts=['scripts\install.py'],
    options = {
        ...
        "bdist_wininst" : {
            "install_script" : "install.py", 
            ...
        },
    }
)

install.py 在安装时确实被调用了。不过,尽管文档上说的不是这样,但在卸载时似乎并没有被调用...

1 个回答

1

同样的安装后脚本在卸载时也会运行,不过传入的参数不同。想了解更多信息,可以查看文档

这个脚本会在安装时运行,所有文件都复制到目标系统后,argv1的值会被设置为-install。而在卸载时,这个脚本也会运行,不过在文件被删除之前,argv1的值会被设置为-remove。

撰写回答