Неинтерактивная установка дополнительной среды Python на компьютер, на котором уже установлен Python - PullRequest
0 голосов
/ 22 июня 2011

Я работаю над инструментом развертывания, который создаст среду Python с несколькими предварительно установленными зависимостями. В соответствии с документацией на веб-сайте Python я должен иметь возможность сделать что-то вроде этого:

msiexec.exe /i python_installer\python-2.4.4.msi TARGETDIR=c:\temp\install\fooX

Однако в случае, когда эта версия Python уже установлена ​​в системе (в обычном каталоге C: \ Python24) эта командная строка попытается восстановить существующую установку.Он не создаст новую установку в TARGETDIR.

Кто-нибудь знает о дополнительных аргументах командной строки, которые помогут мне достичь следующего:

  • Я хочу, чтобы установка блокировалась до завершения установки.Таким образом, я могу запустить следующий процесс моей сборки среды, как только текущий процесс завершится.
  • Я хочу, чтобы установка всегда устанавливалась в TARGETDIR независимо от того, существует ли в другом месте допустимая установка Python.

К вашему сведению, я использую Python 2.4.4 на 32-битной Windows XP.

ОБНОВЛЕНИЕ 1: У нас есть решение «проблемы установки с задержкой», мне просто нужен способ сделать блок программы дозавершено.Если я делаю / qn, процесс порождает фоновый процесс и немедленно завершается.Я всегда удивлялся, почему так много инструментов Windows работают так - это делает невозможным создание сценариев командной строки!

1 Ответ

2 голосов
/ 22 июня 2011

Вы можете попробовать флаг /a вместо /i:

Из справки msiexec:

/a <Product.msi>
    Administrative install - Installs a product on the network

Другой вариант, который стоит рассмотреть, это /qn:

/q[n|b|r|f]
    Sets user interface level
    n - No UI

Вы можете попасть в окно справки msiexec, выполнив только msiexec без параметров.

...