Как запустить установщик MSI из скрипта python? - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно установить node.js из моего python скрипта. Я пробовал эти решения:

Можно ли установить MSI, используя python?

установить .rpm или MSI-файл через python скрипт

Я пытался использовать следующий код:

os.system('msiexec /i %s /qn' % 'node_install.msi')
subprocess.check_call(["msiexec /i node_install.msi"])
subprocess.Popen('node_install.msi')

Но я получаю сообщение об ошибке:

[WinError 193] %1 is not a valid Win32 application

Вот мой скрипт, который успешно загружает MSI file:

if platform.architecture()[0] == "64bit":
    wget.download('https://nodejs.org/dist/v12.15.0/node-v12.15.0-x64.msi','node_install.msi')
    logger.info("We will try now to install NodeJS 64Bits. Please follow the installation process.")
    #os.system('msiexec /i %s /qn' % 'node_install.msi')
    #subprocess.check_call(["msiexec /i node_install.msi"])
    subprocess.Popen('node_install.msi')
else:
    wget.download('https://nodejs.org/dist/v12.15.0/node-v12.15.0-x86.msi', 'node_install.msi')
    logger.info("We will try now to install NodeJS 32Bits. Please follow the installation process.")
    #os.system('msiexec /i %s /qn' % 'node_install.msi')
    #subprocess.check_call(["msiexec /i node_install.msi"])
    subprocess.Popen('node_install.msi')

Кому-нибудь уже удалось установить MSI из сценария python?

...