2010-12-07 6 views
1

In setup.py den Aufruf die Setup-Funktion erzeugt um zu zeigen, wie folgt aussehen:Python: Wie Lizenztext in msi Installer von setup.py

setup(name="my_package", 
     version="1.0", 
     packages = ['pack1', 'pack2'], 
     license = "We're all mad here" 
) 

Und ich benutze das sehr nette Feature ein generieren msi Installer:

python setup.py bdist_msi 

gibt es eine Möglichkeit den Lizenztext zu bekommen: „Wir sind alle hier wütend“ im msi Installationsassistenten angezeigt werden?

danke.

+0

Der Autor von bdist_msi ist auf SO, ich glaube, der Betreuer von distutils2 ist auch. Es wird Leute geben, die ihre msi-fu genug kennen, um einen Python-Entwickler zu führen. Wenn Sie das wirklich wollen, folgen Sie den Links, verbessern Sie die Frage (fügen Sie einige Ergebnisse von dem hinzu, was Sie versucht haben), und Sie haben eine Chance. – TryPyPy

Antwort

1

Optimistisch, detaillierte Antwort: Sie extend distutils, Erstellen eines neuen Befehls basierend auf bdist_msi. Sie müssen wahrscheinlich eine neue PyDialog in (Ihr Äquivalent) bdist_msi.add_ui erstellen. Ich denke, du musst deinen Dialog zu UI Sequences hinzufügen. Der einfachste Dialog scheint Prepare Dialog zu sein. Sich in der Klasse msilib, der Dialog Klasse und den Referenzen unter "Siehe auch" zu orientieren, würde sicherlich helfen.

Realistische Antwort: Sie nicht, nicht ohne erhebliche Energie in es investieren. Sie verwenden einen anderen Installer-Mechanismus, Sie bearbeiten das MSI, Sie finden einen Trick mit RTF-Dateien. Aber die Ausdehnung von Distutils ist schwer, das Erweitern von bdist_msi ist schwieriger.

+0

Es gibt eine ziemlich umfassende [Beispiel] (http://hg.python.org/cpython/file/d7ae948d9eee/Tools/msi/uisample.py) in Pythons Quellcode Repo, die Sie als Start verwenden könnten. Außerdem passt [cx_Freeze] (http://cx-freeze.sourceforge.net/) bdist_msi an, sodass Sie sich vielleicht auch einen Blick auf [was sie gerade tun] (https://bitbucket.org/anthony_tuininga/cx_freeze/ src/04ca56e81816bda14de37bfe824f7fad93f353ee/cx_Freeze/windist.py? at = Standard). –

Verwandte Themen