Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Khiops GUI is blocked by a group strategy for non-standard installation directory #444

Open
marcboulle opened this issue Nov 13, 2024 · 5 comments
Labels
Priority/2 To do after P1 Size/Weeks needs some weeks (big)

Comments

@marcboulle
Copy link
Collaborator

marcboulle commented Nov 13, 2024

Description

Pour les installation sur les directory non standards (cf wiki https://github.com/KhiopsML/khiops/wiki/Manual-Package-Testing-Protocol)

Select the installation directory
- the default C:\Program Files\khiops (or  C:\Applications\khiops)
- one within the user home directory (ex: C:\Users\<USERNAME>\khiops)
- another directory (ex: C:\Temp\khiops)

L'installation se passe bien, mais l'exécution ne marche (pour les deux derniers cas) qu'en mode administrateur.
Sinon, il ne se passe rien (aucun message visible). En lançant depuis le shell, on obtient:
"Ce programme est bloqué par une stratégie de groupe. Pour plus d’informations, contactez votre administrateur système."

Deux problèmes à résoudre:

  • est-il possible d'avoir un message utilisateur explicite dans ce cas, sans passer par un lancement depuis un shell dos
  • reproduire, mieux qualifier et résoudre le problème de blocage (est-ce un problème spécifique Orange?)

Context

  • Khiops version: 10.2.3
@marcboulle
Copy link
Collaborator Author

marcboulle commented Nov 21, 2024

Curieusement, seul le khiops.cmd est bloqué en mode utilisateur.
Et en fait, n'importe quel fichier .cmd est bloqué, même un simple echo hello
Quand je lance l'exe (signé) sur mon poste développeur (c'est possible, car mon environnement de développement a le path bien configuré), cela marche.

Selon le support DSI Orange, c'est normal: les seuls emplacements autorisés sont C:\Program files et C:\Applications
Cela provient d'une règle de Windows AppLocker
On peut le voir dans l'application Observateur d'évènements, en allant dans Journaux des applications et services/Microsoft/Windows/AppLocker/MSI et Scripts, puis par clic bouton doit sur Filtrer le journal actuel, en selectionnant le Niveau d'événement à Critique, Avertissement, Erreur, on a les info sur les fichiers .cmd bloqués.

@marcboulle
Copy link
Collaborator Author

Problème apparemment impossible à résoudre

Issue pour ajouter a minima un warning sur le site site web: KhiopsML/khiops-doc#60

@marcboulle
Copy link
Collaborator Author

marcboulle commented Nov 22, 2024

Paradoxalement, un exe signé passerait, alors qu'un cmd est bloqué.
Une solution un peu délirante et usine à gaz serait de remplacer le khiops.cmd par un khiops.exe de lancement de Khiops:

  • lors de l'installation (en mode administrateur), lancer khiops_env --env > khiops_env.txt pour obtenir la liste des variables d'environnement et leur valeur
  • le khiops.exe procéderait alors en trois étapes:
    • lecture du khiops_env.txt pour obtenir les valeurs des variables d'environnement
    • paramétrage de l'environnement
    • lancement de MODL.exe

Autre question:

  • quid du comportement de pykhiops installé via pip si Khiops est installé dans un répertoire non standard?
  • le lancement de khiops_env par pykhiops risque de poser problème?

@marcboulle
Copy link
Collaborator Author

marcboulle commented Nov 28, 2024

Test avec @popescu-v du lancement de khiops_env.cmd sous Windows, en mode standard (non administrateur):

import subprocess as sp

with sp.Popen(["khiops_env.cmd", "--env"],
    stdout=sp.PIPE,
    stderr=sp.PIPE,
    universal_newlines=True) as khiops_env_process:
    stdout, stderr =  khiops_env_process.communicate()
    print("return code: " + str(khiops_env_process.returncode))
    print("stdout: " + str(stdout))
    print("stderr: " + str(stderr))

Les sorties sont

return code: 1
stdout: 
stderr: Ce programme est bloqu‚ par une strat‚gie de groupe. Pour plus d'informations, contactez votre administrateur systŠme.


Process finished with exit code 0

@lucaurelien
Copy link
Member

We could also add the warning to the Installation Wizard (Windows)

@lucaurelien lucaurelien added the Size/Weeks needs some weeks (big) label Jan 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority/2 To do after P1 Size/Weeks needs some weeks (big)
Projects
None yet
Development

No branches or pull requests

2 participants