Ich habe das auf ein paar Arten gemacht. Eine war die Verwendung von Python und py2exe, und die andere war die Verwendung von Idle, einer auf Lua basierenden "kompilierbaren" Sprache, die InnoSetup zur Erstellung von Installationsprogrammen verwendet.
Ich hatte mit keiner der beiden Methoden Probleme, obwohl ich Idle bisher nicht für etwas von erheblicher Komplexität verwendet habe --- sein Hauptvorteil ist die geringe Größe der erstellten ausführbaren Datei. Bei py2exe müssen Sie darauf achten, alle Abhängigkeiten im Paket zu haben, und ich empfehle, es gründlich auf einer sauberen Installation von Windows zu testen, bevor Sie es veröffentlichen. Zum Beispiel musste ich bei der Verwendung von PyGTK mit py2exe sehr darauf achten, dass die Theming-Dateien im Paket enthalten waren. Es war anfangs nicht offensichtlich, dass ich sie vergessen hatte, da PyGTK sie in der installierten Version auf dem Entwicklungssystem gefunden hat.
Ich musste auch auf Installationspfade, Berechtigungen und Startverzeichnisse achten, sowie auf die Lizenzierung der von mir verwendeten Bibliotheken, aber das ist nichts, worüber Sie sich in einer traditionelleren kompilierten Sprache keine Gedanken machen müssten. Abgesehen von der relativ großen Größe des Installationsprogramms bin ich sehr zufrieden mit py2exe und InnoSetup und kann es nur empfehlen.