2010-08-01 68 views
1

我發現Question#1321270後安裝。我目前的主要目標是bdist_wininst,但我沒有找到任何與卸載有關的東西...如何使用簡單的預卸載腳本擴展distutils?

澄清:
我想在安裝後註冊com服務器,並在卸載前取消註冊。

擴展答案:
ARS的回答似乎是正確的,但是,對於事物的完整性(我覺得文檔留有一定的餘地關於這一主題的改進...):
我已經不是建議通過提Question#1321270擴展distutils.command.install,而是寫了一個新的Python sript稱爲scripts/install.py並設置在setup.py如下:

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

的install.py確定地被稱爲上安裝。看起來,雖然它是(儘管文檔說什麼)沒有被卸載...

回答

1

相同的安裝後腳本將在卸載時運行不同的參數。更多信息,請參見docs

這個腳本會在安裝時的所有文件已被複制後,在目標系統上的卸載時間運行,與argv的1設置爲-install,再次之前,文件刪除與argv 1設置爲 - 刪除。

+0

看起來是正確的,但沒有發生。 unistallation部分是否可能對bdist_wininst不正確? – Nils 2010-08-03 21:05:22

+0

我認爲腳本必須位於根目錄下(您的設置表明它位於「腳本」文件夾下)。 – ars 2010-08-03 23:05:12

+0

不,腳本所在的位置(root,子目錄)只在安裝後使用,從不在預卸載中使用。這發生在Win7,amd64上。我會在今晚的x86上試用WinXP。 – Nils 2010-08-05 07:22:24