[PyKDE] Deployment on Windows? > license compatible

Michael Zimmermann mz-list at incunabulum.de
Tue Dec 6 14:55:01 GMT 2005

Ulrich Berning wrote:

Hi Ulrich,

after being busy with other issues on my dsks for some weeks it is time 
to come back to our deployment issue on Windows...  Sorry, for bothering 
you again :-)

> Compiling the pyqt modules statically into a python interpreter results 
> in a generic interpreter, that can run any python script. This 
> interpreter still violates Trolltech's commercial license agreement.
> The idea of the VendorID package is to create a specialized interpreter 
> binary (with the help of sib.py) that contains at least your application 
> main script. With this specialized interpreter, you can only run your 
> application, nothing else. The vendorid static library 
> (vendorid.lib/libvendorid.a), that is linked with this special 
> interpreter allows the import of pyqt modules for this interpreter.
> The generic python interpeter (python[.exe]) can only import pyqt 
> modules, if the vendorid extension module is available 
> (vendorid.pyd/vendorid.so). This module will never be distributed, it is 
> only available for qt licensees to help developing their applications 
> without the need to build specialized interpreters at development time 
> again and again, because their main script/modules have changed.
> Distributing the vendorid extension module violates the commercial 
> license agreement again.

Well, after a bit of trial and error I understand the bit about building 
a signed interpreter (Actually, this is working as I want it to work).

Currently I use my default installation that has QT and PyQT installed. 
With this setup anyone would be able to use the existing libraries with 
a generic python interpreter and bypass our signed interpreter. Not good.

What I think about doing is:
- Compile the pyQT modules statically into python
- Generate a singed interpreter for our applicaton
- Distribute the signed interpreter + any additional scripts + the 
python libs (including pyQT)

But here are the questions:

How about QT?
Imho I do need a QT library before I can build pyQT. Then, is it 
necessary to patch the code of QT to make it VendorId-aware? If so, 
where? Or how should I deploy the QT libs?

How about PyQT?
Is it enough if I configure  PyQT with the -i command line switch to 
make it vendorId aware?

Once again our objective is not to make a self-contained .exe but rather 
a solution, that leaves some of our code exposed to modifcations ....

Thanks for the help so far...


|  mz-list at incunabulum.de |

More information about the PyQt mailing list