Problem installing the Home I/O installation package

Forum Rules
Community Forum Rules
* English support on www.reddit.com/r/wapt
* French community support is provided on this forum
* Please prefix the topic title with [RESOLVED] if it is resolved.
* Please do not edit a topic that is tagged [RESOLVED]. Open a new topic referencing the old one.
* Specify the installed WAPT version (1.8.2 / 2.0 / 2.1 / 2.2 / etc.) AS WELL AS the Enterprise / Discovery edition.
* Specify the server OS (Linux / Windows) and version (Debian Stretch/Buster - CentOS 7 - Windows Server 2012/2016/2019).
* Specify the OS of the administration/package creation machine (Windows 7 / 10)
. * As with any community forum, support is provided voluntarily by members. If you require sales support, you can contact the Tranquil IT sales department at 02.40.97.57.55
Locked
mickael.lombard
Messages: 7
Registration: June 16, 2017 - 10:01

December 17, 2018 - 09:07

Hello everyone,

I am experiencing a problem installing the Home I/O software.
Here is my script:

Code: Select all

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('installing langevin-home-io')
    install_exe_if_needed("homeio-1.5.0-installer.exe",'--unattendedmodeui none --mode unattended',key='',min_version='1.5.0')
    filecopyto('paul-langevin.lic','C:\Program Files (x86)\Real Games\Home IO')
When I install from PyScripter on my test machine, everything is OK. If I run the installation on another machine using the `wapt-get install` command, it also works. However, if I link the package to another machine, the installation fails and I get the following error message:
installing langevin-home-io
[Error 32] The process cannot access the file because this file is used by another process: 'c:\\temp\\waptensxp2\\homeio-1.5.0-installer.exe'
Traceback (most recent call last):
File "C:\Program Files (x86)\wapt\common.py", line 3512, in install_wapt
exitstatus = setup.install()
File "c:\temp\waptensxp2\setup.py", line 8, in install
File "C:\Program Files (x86)\wapt\common.py", line 3471, in new_func
return func(*args,**kwargs)
File "C:\Program Files (x86)\wapt\setuphelpers.py", line 3982, in install_exe_if_needed
run(r'"%s" %s' % (exe,silentflags),accept_returncodes=accept_returncodes,timeout=timeout,pidlist=pidlist)
File "C:\Program Files (x86)\wapt\setuphelpers.py", line 1029, in run
raise TimeoutExpired(cmd,''.join(output),timeout)
TimeoutExpired: Command '"homeio-1.5.0-installer.exe" --unattendedmodeui none --mode unattended --disable-components connectio --disable-components VisualC2010' timed out after 300 seconds with output ''WARNING: Option --disable-components was already provided\r\n''
TimeoutExpired: Command '"homeio-1.5.0-installer.exe" --unattendedmodeui none --mode unattended --disable-components connectio --disable-components VisualC2010' timed out after 300 seconds with output ''WARNING: Option --disable-components was already provided\r\n''
On closer inspection, the installation is completed almost to the end but remains frozen at the end.
I have two ideas but I don't know how to implement them:
1) The application tries to connect to the internet but since no user is connected my proxy is blocking it -> how do I configure a proxy in a WAPT package?
2) User files are copied at the end and the package fails to write where it should (I tried launching the WAPT service with a local and domain administrator account, but that didn't change anything)

What do you think?
Thank you in advance
Gaelds
Messages: 254
Registration: Nov 22, 2015 - 08:37

March 19, 2019 - 11:18

Good morning,
If it helps, here's my code which successfully installs Home IO on my student computers, without requiring any proxy credentials:

Code: Select all

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []
uninstallstring = "C:\Program Files (x86)\Real Games\Home IO\uninstall.exe"
global destdir
destdir = makepath(programfiles32,'Real Games','Home IO')

def install():
    print('Installation de dst-home-io-distrame')
    install_exe_if_needed("homeio-1.5.0-installer.exe",' --unattendedmodeui none --mode unattended --installer-language fr',key='Home I/O',min_version='1.5.0')

    print(ur'Copie de la licence 2019')
    if isdir(destdir):
        filecopyto("lycee-professionnel.lic",destdir)
    else:
        error(ur'Dossier Home IO introuvable')

    print('Raccourci dans dossier Logiciels sur bureau public')
    if not isdir(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme')):
        mkdirs(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme'))
    create_shortcut(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Home IO.lnk'),target=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32, wDir=r'%s\Real Games\Connect IO\\' %programfiles32,icon=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32)
    create_shortcut(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Bewatest.lnk'),target=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32, wDir=r'%s\Real Games\Connect IO\\' %programfiles32,icon=r'%s\Real Games\Connect IO\Connect IO.exe' %programfiles32)
    remove_desktop_shortcut('Home IO')
    remove_desktop_shortcut('Connect IO')

def uninstall():
    print('Suppression de Home et Connect IO')
    if isfile(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Connect IO.lnk')):
        remove_file(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Connect IO.lnk'))
    if isfile(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Home IO.lnk')):
        remove_file(makepath(common_desktop(),ur'Logiciels',ur'Elec - Automatisme',ur'Home IO.lnk'))

def session_setup():
    remove_user_desktop_shortcut('Home IO')
    remove_user_desktop_shortcut('Connect IO')
PS: There is surely another way to specify the software installation directory without hardcoding it, but I hadn't found it.
mickael.lombard
Messages: 7
Registration: June 16, 2017 - 10:01

September 9, 2019 - 11:20

Thank you so much for your message, I just saw it.
I just created a new package according to your settings, but unfortunately, it behaves exactly the same way. There must be something different on my machines.
User avatar
sfonteneau
WAPT Expert
Messages: 2318
Registered: July 10, 2014 - 11:52 PM
Contact :

January 30, 2020 - 4:02 PM

I'm replying late (I just experienced this)

The problem is really very strange; the problem occurs with installers of the installbuilder type

Basically, you have to launch it once, then launch it again so that it launches correctly in silent mode.

Here's a snippet of code to solve the problem

Code: Select all

    
def install():
    filename = 'FreeStyleLibreInstaller-EU_7196.exe'
    versionpaquet = control['version'].split('-',1)[0]
    try:
        install_exe_if_needed(makepath(basedir,filename),'--installer-language fr --mode unattended --unattendedmodeui none',key='FreeStyle Libre %s' % versionpaquet,min_version=versionpaquet,timeout=30)
    except:
        killalltasks(filename)
        time.sleep(2)
        install_exe_if_needed(makepath(basedir,filename),'--installer-language fr --mode unattended --unattendedmodeui none',key='FreeStyle Libre %s' % versionpaquet,min_version=versionpaquet,timeout=60)
        
Locked