← Back to team overview

bzr-windows team mailing list archive

Re: Better Windows installer(s) - volunteers needed

 

Ian Clatworthy пишет:
Assuming everyone who wanted to voice an opinion on what installers are
required has done so, the time has come IMO for some follow-up action.
Here are the next steps I'd like to see happen:

1. Someone volunteers to summarise the consensus and list any
   outstanding issues to be decided or further investigated.

I have troubles to see consensus, but Ian said there should be one.
So I'll try to list replies.

a) TortoiseBzr:
     * not installed by default but present in the installer

b) Bazaar Explorer:
     * replaces TBZR as officially blessed GUI
* it will require some changes in setup.py (similar to QBzr stuff) and creation of additional icons (Programs Group, Desktop, Quick Launch) from installer

c) Bundling Loggerhead? What dependencies it has?

d) Bundling xmloutput? Should be easy enough.

e) MSI instead of Inno Setup. I've replied in another mail.

f) x64 support: require Python 2.6 as strong dependency. But x86 (32-bit) works just fine on Python 2.5. What is idea? Push bzr.exe to use Python 2.6? It will definitely require MSVC 2008 to build C extensions, I don't know is MinGW can link against newer run time libs. Somebody should test to build bzr C extensions either with MinGW + Py 2.6 or with MSVC Express Edition. (But TBZR anyway require MSVC 2008 full edition). Separate installers for x86 and x64 or put everything together?

g) Installer for CLI-only version of bzr?

h) Documentation format. I found CHM format is very nice, especially because of Search feature. But it was mentioned it becomes obsolete. HTML docs works just fine. Maybe this could be solved by using Sphinx for generating docs. Sphinx can build search index for its HTML output, so it can cover some of CHM functionality. Although Sphinx can generate sources for CHM, so Sphinx is definitely must have.

i) Admin rights for installing bzr should be optional. Although user can't install TBZR without admin rights at all. So this could be tricky.

j) Compress library.zip (part of bzr.exe). Should be easy to get with trivial changes in setup.py.

k) Packaging kitchen sink:

* GUI merge tool? Which one? (I've tried WinMerge: it's not bad at all, but QBzr currently have problems to use it from qconflicts) * SSH tools? Putty collection seems very good and lean. pageant is must have to use with LP, so puttygen to generate SSH keys must have too. plink is REAL PAIN, paramiko should be default, so I'd rather throw it away. Putty itself as terminal is OK. Another SSH tool is WinSCP -- it's a GUI application. May be too big for bundling inside. * GNU patch.exe from http://gnuwin32.sf.net? To get shelve1 working on WIndows instead of broken built-in shelve? * Bundle entire (or most) of Python standard library into bzr.exe, so it's less confusing for plugin devs when their code does not work with bzr.exe because some standard modules are missing.


Extreme and wild ideas:
-----------------------

l) Drop support for old windows versions. Why for?

m) Ditto for underlying filesystem. What about USB flash drives?

n) Network installer: very interesting idea but require some infrastructure to get and install components. Non-trivial and benefits not very clear (other than reduce download size)

o) Throw away bzr.exe and force user to use only pure python interpreter as execution platform, use easy_install to install everything. (Well, I can say a lot why it's wrong idea, but I can simply shut up and build my own custom installer for my needs instead).

p) Auto-update plugins (make plugins actually lightweight checkouts of corresponding branches)?

q) More fine grained control on plugins: either during install time, or later via bazaar.conf



As you see there is still some latin letters unused, so perhaps I've missed something.

	




Follow ups

References