Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
integrer-applications-windows-dans-paquets-logiciels [Le 26/06/2013, 01:53]
81.67.78.59 [Étape 2 : Modifier puis compiler Wine]
integrer-applications-windows-dans-paquets-logiciels [Le 30/01/2024, 20:21] (Version actuelle)
89.86.155.3
Ligne 1: Ligne 1:
 +{{tag>​Bionic Xenial Focal Jammy tutoriel wine}}
 +
 ====== Intégrer une application Windows dans un paquet logiciel ====== ====== Intégrer une application Windows dans un paquet logiciel ======
  
Ligne 50: Ligne 52:
 La modification proposée va permettre d'​outrepasser cette limite, afin que tous les utilisateurs puissent y avoir accès ensuite ! :-) La modification proposée va permettre d'​outrepasser cette limite, afin que tous les utilisateurs puissent y avoir accès ensuite ! :-)
  
-Tout d'​abord,​ vous devrez récupérer les sources de wine, de la version désirée, ici => http://www.ibiblio.org/pub/linux/​system/​emulators/​wine/+Tout d'​abord,​ vous devrez récupérer les sources de wine, de la version désirée, ici => https://dl.winehq.org/wine/source/
  
  
 Dans mon cas, je choisit donc de télécharger wine-1.3.26.tar.bz2,​ dernière version en date Dans mon cas, je choisit donc de télécharger wine-1.3.26.tar.bz2,​ dernière version en date
-<​code>​wget ​http://www.ibiblio.org/pub/linux/system/​emulators/​wine/​wine-1.3.26.tar.bz2</​code>​+<​code>​wget ​https://dl.winehq.org/wine/source/1.3/​wine-1.3.26.tar.bz2</​code>​
  
 Ensuite je décompresse Ensuite je décompresse
Ligne 63: Ligne 65:
  
  
-installation des dépendance ​avec le script ​de wine+installation des dépendance de wine
  
-<​code>​wget http://​winezeug.googlecode.com/​svn/​trunk/​install-wine-deps.sh</​code>​ +<​code>​sudo apt-get -y build-dep wine</​code>​
- +
- +
- +
-<​code>​sudo sh http://​winezeug.googlecode.com/​svn/​trunk/​install-wine-deps.sh</​code>​+
  
 +<​code>​sudo apt-get -y build-dep wine-stable</​code>​
  
 +<​code>​sudo apt-get -y build-dep winehq-stable</​code>​
  
 Ensuite, il est nécessaire d'​éditer 3 fichiers Ensuite, il est nécessaire d'​éditer 3 fichiers
  
 <​code>​gedit libs/​wine/​config.c</​code>​ <​code>​gedit libs/​wine/​config.c</​code>​
 +
 +<​note>​a partir de wine 8.3 le fichier libs/​wine/​config.c ​ a étais supprimer</​note>​
 +
 <​code>​gedit dlls/​ntdll/​server.c</​code>​ <​code>​gedit dlls/​ntdll/​server.c</​code>​
 +
 +<​note>​si le fichier dlls/​ntdll/​server.c éssayez dlls/​ntdll/​unix/​server.c</​note>​
 +
 +<​code>​gedit dlls/​ntdll/​unix/​server.c</​code>​
 +
 <​code>​gedit server/​request.c</​code>​ <​code>​gedit server/​request.c</​code>​
  
-Dans ces 3 fichiers, vous devez rechercher les termes "**is not owned by you**" contenant peu avant l'​occurence "​**fatal_error**"​ que vous devrez à chaque fois remplacer par "​**printf**",​ dans mon cas, j'ai aussi pris la précaution de remplacer la valeur "​**fatal_error**"​ des allocutions "​**must not be accessible by other users**",​ cette dernière faisant référence aux droits des utilisateurs ​+Dans ces 3 fichiers, vous devez rechercher les termes "**is not owned by you**" contenant peu avant l'​occurence "​**fatal_error**"​ que vous devrez à chaque fois remplacer par "​**printf**",​ dans mon cas, j'ai aussi pris la précaution de remplacer la valeur "​**fatal_error**"​ des allocutions "​**must not be accessible by other users**",​ cette dernière faisant référence aux droits des utilisateurs
  
 <code c>if (st.st_mode & 077) printf( "'​%s'​ must not be accessible by other users\n",​ serverdir );</​code>​ <code c>if (st.st_mode & 077) printf( "'​%s'​ must not be accessible by other users\n",​ serverdir );</​code>​
Ligne 97: Ligne 105:
 <​code>​make</​code>​ <​code>​make</​code>​
  
-Une fois celle ci terminée (ce qui devrait prendre un peu de temps), il n'y a plus qu'à installer les fichiers dans le répertoire choisit précédemment ​+Une fois celle ci terminée (ce qui devrait prendre un peu de temps), il n'y a plus qu'à installer les fichiers dans le répertoire choisit précédemment
  
-<​code>​make install</​code>​+<​code>​sudo make install</​code>​
  
 Vous devriez maintenant retrouver tous les fichiers liés à cette version de wine modifié dans "​**/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​.wine/​version-choisie-de-wine/​**"​ Vous devriez maintenant retrouver tous les fichiers liés à cette version de wine modifié dans "​**/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​.wine/​version-choisie-de-wine/​**"​
Ligne 165: Ligne 173:
 <​code>​sudo chmod u+x /​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​scripts/​nom-du-script</​code>​ <​code>​sudo chmod u+x /​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​scripts/​nom-du-script</​code>​
  
 +Q
 ===== Étape 4 : Script python zenity (gui GTK) pour lancer votre script d'​application ===== ===== Étape 4 : Script python zenity (gui GTK) pour lancer votre script d'​application =====
  
Ligne 206: Ligne 215:
 esac esac
 </​code>​ </​code>​
 +
 +
 +
 +Pour moi Billou ce script ne fonctionne pas aussi pourquoi créer un autre script avant si ont peut métre les variable dans le zenity un example qui fonctionne
 +
 +<​code>#​!/​bin/​bash
 +PATH="/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​.wine/​version-choisie-de-wine/​bin/:​$PATH"​
 +export WINEPREFIX="/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​prefix/"​
 +export WINEDEBUG="​-all"​
 +#Forcer la langue FR pour l'​environnement et les applications
 +export LANG="​fr.FR-utf8"​
 +
 +programme=`zenity --list \
 +  --title="​faite votre choix dnas la liste" \
 +  --column="​Choix"​ \
 +    "​lancer nom de votre programme"​ \
 +    "​winecfg"​`
 +if [ "​$programme"​ == "​winecfg"​ ]
 +then
 +# commande pour lancer winecfg
 +wine winecfg
 +elif [ "​$programme"​ == "​lancer nom de votre programme"​ ]
 +then
 +# commande pour lancer votre programme
 +wine "​c:​\Program Files\chemin-du-dossier-de-l'​executable-windows-de-votre-programme\executable.exe"​
 +else
 +exit 1
 +fi
 +exit 0</​code>​
  
  
 ===== Étape 5 : Créer votre paquet logiciel ===== ===== Étape 5 : Créer votre paquet logiciel =====
  
-<note important>​Attention,​ comme pour beaucoup de programmes Linux, il est conseiller de divisier votre paquet en deux parties, l'un contenant les données "​simples",​ l'​autre des données plus lourdes, afin de faciliter la mise à jour d'une partie des fichiers, sans devoir tout re-télécharger / réinstaller ! +<note important>​Attention,​ comme pour beaucoup de programmes Linux, il est conseiller de divisier votre paquet en deux parties, l'un contenant les données "​simples",​ l'​autre des données plus lourdes, afin de faciliter la mise à jour d'une partie des fichiers, sans devoir tout re-télécharger / réinstaller !
 Par exemple, pour un jeu, un paquet contenant tout les fichiers sauf **/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​prefix/​drive_c/​Program Files/​chemin-du-dossier-de-votre-programme-windows**,​ et l'​autre contenant ce dossier, ainsi, si vous mettez à jour le premier petit paquet, vous n'​aurez pas à vous soucier de l'​autre vu que les données ne devraient pas changer.</​note>​ Par exemple, pour un jeu, un paquet contenant tout les fichiers sauf **/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​prefix/​drive_c/​Program Files/​chemin-du-dossier-de-votre-programme-windows**,​ et l'​autre contenant ce dossier, ainsi, si vous mettez à jour le premier petit paquet, vous n'​aurez pas à vous soucier de l'​autre vu que les données ne devraient pas changer.</​note>​
  
Ligne 279: Ligne 317:
 <​code>​sudo chmod 777 /​chemin/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​prefix/​drive_c/​ -R</​code>​ <​code>​sudo chmod 777 /​chemin/​opt/​catégorie-de-votre-programme/​nom-de-votre-programme/​prefix/​drive_c/​ -R</​code>​
  
-Et maintenant, il ne reste plus... Qu'à créer le/les paquets (à refaire avec chaque paquet créé évidemment,​ si vous avez dissocié les fichiers et dossiers en plusieurs paquets) ​+Et maintenant, il ne reste plus... Qu'à créer le/les paquets (à refaire avec chaque paquet créé évidemment,​ si vous avez dissocié les fichiers et dossiers en plusieurs paquets)
  
 <​code>​cd .. <​code>​cd ..
  • integrer-applications-windows-dans-paquets-logiciels.1372204426.txt.gz
  • Dernière modification: Le 26/06/2013, 01:53
  • par 81.67.78.59