В версиях ниже 3.5.0 не было .MSI
для Windows, у которого была действительно хорошая скрытая опция. Этот вариант выглядел так:
msiexec.exe /a "file.msi" /qb /L*V "file.log" ALLUSERS=0 TARGETDIR="target" CURRENTDIRECTORY="%~dp0" <additional options>
что в основном позволяет мне игнорировать права администратора, потому что MSI обращается к некоторому типу установщика для всей сети, таким образом, обходной путь разрешения.
С Python 3.5.0 был представлен новый .EXE
, который имеет .MSI
файлы упакованы в себя, вы можете получить их с:
python-3.5.0.exe /layout [optional target directory]
все же есть действительно раздражающая вещь, идущая вокруг с этим решением. Когда я делаю это, то .MSI
имеют суффикс -d.msi
и когда я вручную распаковываю его с помощью команды msiexec
приведенной выше, у каждого файла также есть этот суффикс, что делает его полностью поврежденной установкой. Переименование файлов на самом деле не вариант, так как каждый файл имеет суффикс -d.<file ext>
, а не -d.msi.<file ext>
, поэтому слишком сложно переименовать его простым способом с помощью таких инструментов, как Batch, если я не хочу проверять наличие нескольких случаев (например, папок).
Есть ли способ извлечь содержимое программы установки в отдельную папку, как это было возможно раньше, без каких-либо дополнительных вещей, добавляемых в Programs and features
, такие как Python 3.5.0 (64bit)
или simlar?
Или другой вопрос - есть ли способ, как запретить установщику доступ к Programs and features
, вообще запретить ему запрашивать права администратора и реестр?
Это очень полезно, если я хочу, чтобы несколько установок Python ни к чему не были привязаны, а тестирование - в качестве основной цели. Обратите внимание, что у меня нет намерения использовать python launcher (это py.exe
), virtualenv или любое другое альтернативное "решение", так как каждое из них позволяет мне устанавливать только одну установку Python той же версии и / или слишком велико для быстрого использования.