This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author D Gentry
Recipients D Gentry, paul.moore, r.david.murray, steve.dower, tim.golden, zach.ware
Date 2017-08-16.02:16:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAFLCgurSc-xcUciL2wCPLbc-CL=0JEMCn4mPs5wuudhOvJvTmQ@mail.gmail.com>
In-reply-to <1502736932.21.0.391353043048.issue31148@psf.upfronthosting.co.za>
Content
Thank you for the information. That will definitely be helpful.

Also, thank you for being so detailed with your explanation.

Even though it will be difficult and may take more time than I was
initially intending, I believe its within the realm of possibility.

Therefore, I will be trying my hand at crafting the MSI, though like you
said earlier, it's not nearly as easy as the msdn article made it appear.

The toolset you offered should help out a lot.

Thank you for all of your expert advice.

I have one last question before I begin on my journey.

You mentioned "burn bundles" at the end of the message. Are these something
I would have to build myself or is there a repository where I can download
the files?

On Mon, Aug 14, 2017 at 12:55 PM, Steve Dower <report@bugs.python.org>
wrote:

>
> Steve Dower added the comment:
>
> The general requirements of an installer are:
> * runs without any preinstalled prerequisites
> * does not install anything permanent until the user says so (Visual
> Studio breaks this rule :( )
> * installs all required prerequisites
> * install on all supported operating systems
> * allow users to [de]select optional components
> * correctly uninstall previous compatible versions
> * correctly do *not* uninstall previous identical versions
> * update user environment settings (registry, environment, etc.)
> * create Start Menu shortcuts
> * create file associations
> * create context menus
> * install files into customizable location with correct security settings
> * correctly roll back when installation fails, including restoring
> previously uninstalled components and attempting to execute installed tools
> that may not be installed correctly
> * attempt to execute just-installed components that may not be installed
> correctly (e.g. ensurepip, compileall, trigger environment variable reload)
> * detect and abort when installation is going to fail, and explain to the
> user how to solve the problem
> * provide live progress feedback and information about what operations are
> occurring
> * provide detailed log files to help offer user support post-installation,
> and help users find those logs
> * provide registration information so the operating system can help users
> modify or remove the installation
> * allow users to modify, repair and upgrade the installation without
> corrupting it (or any others) or forcing them to remove/reinstall
> * allow users to choose whether to install just for themselves or for the
> entire machine, and request correct permissions based on this choice
> * allow administrators to script an entire installation and have it run
> silently and/or with progress (and cancellation) only
> * allow users to minimize download size by deselecting optional components
> * allow users to obtain all optional components to allow full installation
> without public internet access
> * install without executing arbitrary third-party code that may have been
> maliciously placed in a user's download directory
> * automatically include new files added by developers who have not
> explicitly modified the installer
>
> These are all the features of our current installer, and nearly all of
> them work for basically every user. Many of these are literally not
> achievable with just an MSI, or require significantly more complicated
> commands to be run by the end user, rather than providing options in a user
> interface.
>
> If you're still interested in giving it a go, visit http://wixtoolset.org/
> and have a look at their tools. These are the gold-standard right now for
> building MSIs (and Burn bundles, which is what we currently have).
>
> ----------
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <http://bugs.python.org/issue31148>
> _______________________________________
>
History
Date User Action Args
2017-08-16 02:16:46D Gentrysetrecipients: + D Gentry, paul.moore, tim.golden, r.david.murray, zach.ware, steve.dower
2017-08-16 02:16:46D Gentrylinkissue31148 messages
2017-08-16 02:16:43D Gentrycreate