Auteur Sujet: comment faire un package SC en ligne de commande  (Lu 29551 fois)

Hors ligne rcassard

  • Posteur
  • **
  • Messages: 6
comment faire un package SC en ligne de commande
« le: 06 novembre 2007, 11:09:52 »
bonjour,

Je voudrais pouvoir générer les packages SC en local (sans passer par le "créateur SC" en ligne) et en plus en ligne de commande
Le package retourné par le "créateur SC" en ligne est à priori
  * une archive contenant les binaires + les bmp et helpdesk.txt ...

A l'exécution, cet auto extractible :
        décompresse les fichiers dans un répertoire temp
        lance winvnc.exe à partir de ce répertoire
        fait le ménage en fin d'exécution de winvnc.exe

les soft de compression que je connais savent faire des autoextractibles par défaut, par contre je n'ai pas vu comment leur dire d'exécuter un certain programme après l'extraction (mais je n'ai certainement pas du bien regarder ...)

Quelqu'un sait il quel soft est utilisé par le serveur UltraVNC qui génère les packages ?
Connaissez vous le soft magique qui compresse et qui exécute un prog au démarrage ?

merci



Hors ligne jl56

  • Modérateur
  • *****
  • Messages: 342
  • Sexe: Homme
    • tuto SCIII
Re : comment faire un package SC en ligne de commande
« Réponse #1 le: 06 novembre 2007, 19:28:34 »
bonjour

j'utilise 7zip et ca fonctionne tres bien
le mieux pour comprendre télécharge mon générateur SCIII
http://jl56ultravnc.free.fr/

et tu trouvera les outils et .bat pour faire ce que tu demandes


a+ jl56
« Modifié: 21 novembre 2007, 21:08:45 par jl56 »

Hors ligne benjy

  • Modérateur
  • *****
  • Messages: 430
  • Sexe: Homme
Re : comment faire un package SC en ligne de commande
« Réponse #2 le: 06 novembre 2007, 20:30:52 »
Salut,

Tu peut faire tout cela avec 7zip sinon tu doit modifier les fichiers deja creer par jl56 par exemple ou ceux d'ici

http://kp774.com/soft/uvnc_scg/english.html

@ toi de voir  ;)

@+ benjy
benjy[arrobas]ultravnc[point]fr

Hors ligne benjy

  • Modérateur
  • *****
  • Messages: 430
  • Sexe: Homme
Re : comment faire un package SC en ligne de commande
« Réponse #3 le: 06 novembre 2007, 21:47:01 »
re

Je me suit amuser a creer un créateur de SC facile a utiliser, si tu veux l'essayer je peut te le filer, laisse moi ton adresse mail, tu me dira ce que tu en pense

@+ benjy
benjy[arrobas]ultravnc[point]fr

Hors ligne benjy

  • Modérateur
  • *****
  • Messages: 430
  • Sexe: Homme
Re : comment faire un package SC en ligne de commande
« Réponse #4 le: 06 novembre 2007, 22:50:33 »
Bon pour tous ceux que ca interresse, vous pouvez le telecharger ici ---> http://cjoint.com/?lgwUjCDeJa

Placez le dossier SC dans C:\
Lire le fichier "Lisez moi.txt"

Rien de compliqué ;) à vous de jouer (et de juger)

PS : Si il serait possible de stocker le créateur sur le forum ca serait sympa  ;D

@+ benjy
benjy[arrobas]ultravnc[point]fr

Hors ligne jl56

  • Modérateur
  • *****
  • Messages: 342
  • Sexe: Homme
    • tuto SCIII
Re : comment faire un package SC en ligne de commande
« Réponse #5 le: 07 novembre 2007, 08:16:29 »
bonjour

je viens de tester ton createur
ca fonctionne super. pas de probleme
tres simple d'emploi

il y a tu temps passé  merci

a+ jl56


Hors ligne rcassard

  • Posteur
  • **
  • Messages: 6
Re : comment faire un package SC en ligne de commande
« Réponse #6 le: 07 novembre 2007, 14:50:17 »
merci pour les infos

j'ai regardé le projet de jl56 qui est très complet.
Par contre, pour mon utilisation en ligne de commande, il ne va pas faire l'affaire

mon besoin ressemble beaucoup plus à la solution de benjy (tout en ligne de commande sans intervention humaine)

c'est avant tout pour refabriquer automatiquement le package directement après la compilation des sources que je recherche ce script.

ceci dit, j'avais mal cherché puisque ce sujet avait abordé ici => https://forum.uvnc.com/viewtopic.php?t=7661

Comme le dit benjy, il est dommage que le script ne soit pas disponible directement dans les sources, on n'aurait plus à chercher.

il y a toutefois 2 remarques dans l'utilisation de 7z et utx pour la génération :
* au final, l'icône de l'exe est celle du stub 7zS.sfx. Dans le forum, on parle d'utiliser replaceicon.exe qui comme son nom l'indique doit patcher l'icône. Sauf qu'il ne semble plus fonctionner pour VISTA (cf. le forum)
* le package final est un peu plus "gros" que celui généré directement par le "créateur de package en ligne"

mais au moins j'ai ma solution
merci

Hors ligne benjy

  • Modérateur
  • *****
  • Messages: 430
  • Sexe: Homme
Re : comment faire un package SC en ligne de commande
« Réponse #7 le: 07 novembre 2007, 18:56:34 »
Salut,

Dit moi exactement ce que tu veux faire (en détail) et essaie d'etre clair dans les explications afin que je puisse peut etre t'aider  ;)

Détail moi "tout", et a quoi cela servira, j'ai surement la possibilité de t'aider je pense

Merci  :)


Benjy
« Modifié: 07 novembre 2007, 18:58:33 par benjy »
benjy[arrobas]ultravnc[point]fr

Hors ligne rcassard

  • Posteur
  • **
  • Messages: 6
Re : comment faire un package SC en ligne de commande
« Réponse #8 le: 08 novembre 2007, 17:30:42 »
je voudrais simplement reconstruire les packages complets à partir des sources comme cela devrait être possible

J'ai donc commencé par récupérer les sources (via SVN, j'ai compris que la repo CVS n'était pas à jour)
ça compile sans problème, sauf les setups, d'où mes questions

* pour le setup de UltraVNC
les sources ne sont pas à jour dans SVN de plus, il faut recopier les binaires "à la main" dans un répertoire .\src pour  que cela puisse fonctionner

* pour le packaging SC
grâce à vos différentes informations, j'ai compris comment cela était packagé (7z + upx)

je voudrais donc au final mettre tout cela en musique pour qu'un bon vieux script
  * génère les binaires
  * génère le pachage uvnc
  * génère le package SC
pendant que je fais autre chose

pour info, voici 3 scripts "en l'état" pour générer le package SC à partir des sources.
Ils ne sont d'aucune utilité si vous n'avez pas l'intention de compiler les sources évidemment.

*********************************************************
make-sc-all.cmd : génère le package debug et release

@echo off
setlocal

if exist winvncsc-debug.exe del winvncsc-debug.exe
if exist winvncsc-release.exe del winvncsc-release.exe

call make-sc-all-bin.cmd
if errorlevel 1 goto onerror

make-sc-package.cmd .\bin\debug winvncsc-debug.exe
if errorlevel 1 goto onerror

make-sc-package.cmd .\bin\release winvncsc-release.exe
if errorlevel 1 goto onerror

goto exit

:onerror
echo %0 failed
goto exit

:exit
endlocal


************************************************************
make-sc-all-bin.cmd : est appelé par make-sc-all.cmd pour générer les .exe

@echo off
rem make-sc-all-bin.cmd
setlocal

if not exist .\bin\debug md .\bin\debug
if errorlevel 1 goto onerror
if not exist .\bin\release md .\bin\release
if errorlevel 1 goto onerror


msdev .\winvnc\winvnc.dsw /out winvnc-build.log /make "winvncsc - Win32 Debug" /rebuild
if errorlevel 1 goto onerror

msdev .\winvnc\winvnc.dsw /out vnchooks-build.log /make "vnchooks - Win32 Debug" /rebuild
if errorlevel 1 goto onerror

copy /b .\winvnc\winvncsc\Debug\winvnc2.exe .\bin\debug\winvnc.exe > nul
if errorlevel 1 goto onerror
copy /b .\winvnc\winvncsc\Debug\winvnc2.exe .\bin\release\winvnc.exe > nul
if errorlevel 1 goto onerror

copy /b .\winvnc\Debug\vnchooks.dll .\bin\debug > nul
if errorlevel 1 goto onerror
copy /b .\winvnc\Debug\vnchooks.dll .\bin\release > nul
if errorlevel 1 goto onerror

copy /b external\helpdesk.txt .\bin\debug > nul
if errorlevel 1 goto onerror
copy /b external\background.bmp .\bin\debug > nul
if errorlevel 1 goto onerror
copy /b external\icon1.ico .\bin\debug > nul
if errorlevel 1 goto onerror
copy /b external\icon2.ico .\bin\debug > nul
if errorlevel 1 goto onerror
copy /b external\logo.bmp .\bin\debug > nul
if errorlevel 1 goto onerror

copy /b external\helpdesk.txt .\bin\release > nul
if errorlevel 1 goto onerror
copy /b external\background.bmp .\bin\release > nul
if errorlevel 1 goto onerror
copy /b external\icon1.ico .\bin\release > nul
if errorlevel 1 goto onerror
copy /b external\icon2.ico .\bin\release > nul
if errorlevel 1 goto onerror
copy /b external\logo.bmp .\bin\release > nul
if errorlevel 1 goto onerror

goto exit

:onerror
echo %0 failed
goto exit

:exit
endlocal

**************************************************************************************
make-sc-package.cmd : génère l'autoextractible, est appelé par make-sc-all.cmd

@echo off
setlocal

rem upx.exe available ? (see http://upx.sourceforge.net)
upx -V 1>nul 2>nul
if errorlevel 1 goto onerror

rem 7z.exe available ? (see http://www.7-zip.org/)
set PATH=%PATH%;%ProgramFiles%\7-Zip;
7z >nul 2>nul
if errorlevel 1 goto onerror

rem 7zS.sfx available ? (see "extra package" of 7z)
if not exist "%ProgramFiles%\7-Zip\7zS.sfx" goto onerror

if "%1" == "" goto usage
if not exist "%1" goto usage
if "%2" == "" goto usage

set BINPATH=%1
set PACKAGE=%2

rem cleaning
if exist ~package.7z del ~package.7z
if exist ~config.txt del ~config.txt
if exist %PACKAGE% del %PACKAGE%

echo ;!@Install@!UTF-8!> ~config.txt
echo RunProgram="winvnc.exe">> ~config.txt
echo ;!@InstallEnd@!>> ~config.txt

7z a -m9=LZMA ~package.7z "%cd%\%BINPATH%\background.bmp" "%cd%\%BINPATH%\helpdesk.txt" "%cd%\%BINPATH%\icon1.ico" "%cd%\%BINPATH%\icon2.ico" "%cd%\%BINPATH%\logo.bmp" "%cd%\%BINPATH%\vnchooks.dll" "%cd%\%BINPATH%\winvnc.exe" > nul
if errorlevel 1 goto onerror

copy /b "%ProgramFiles%\7-Zip\7zS.sfx" + ~config.txt + ~package.7z %PACKAGE% >nul
if errorlevel 1 goto onerror

upx.exe -9 %PACKAGE% >nul
if errorlevel 1 goto onerror

goto exit

:usage
echo Usage: make-sc-package binary-path outputfile
echo  binary-path : relative path that contains binary files
echo  outputfile : name of the package
echo ex : make-sc-package .\mybindirectory myscpackage.exe
cd ~toForceErrorLevel 2>nul
goto exit

:onerror
echo %0 failed
goto exit

:exit
endlocal





Hors ligne benjy

  • Modérateur
  • *****
  • Messages: 430
  • Sexe: Homme
Re : comment faire un package SC en ligne de commande
« Réponse #9 le: 08 novembre 2007, 18:36:51 »
Ah ok je ne voyais pas ca comme ca !


Je voudrais pouvoir générer les packages SC en local (sans passer par le "créateur SC" en ligne) et en plus en ligne de commande
Le package retourné par le "créateur SC" en ligne est à priori
  * une archive contenant les binaires + les bmp et helpdesk.txt ...

A l'exécution, cet auto extractible :
        décompresse les fichiers dans un répertoire temp
        lance winvnc.exe à partir de ce répertoire
        fait le ménage en fin d'exécution de winvnc.exe

D'apres ce que je pensai et ce que tu disais, pour moi il etait possible de faire cela en modifiant un petit peu mon createur SC



les soft de compression que je connais savent faire des autoextractibles par défaut, par contre je n'ai pas vu comment leur dire d'exécuter un certain programme après l'extraction (mais je n'ai certainement pas du bien regarder ...)

Sa aussi il serait possible de le faire ! tjs en modifiant quelques lignes du .bat par exemple


Enfin je ne pensai pas que tu te prendrai la tete a modifier les sources ! je pense personnellement qu'il soit possible de realiser ce que tu cherche à faire sans grande manipulation.

Alors pour moi d'apres ce que tu decrit au premiere abord, il est possible de faire cela, mais je ne comprend pas bien ce qu'est le but de tout sa, si tu peut m'eclaircir? (ex: créer un package avec un propre créateur comme le site fait, cela est possible + executer telle fichier apres cette creation, c'est possible,etc...)
benjy[arrobas]ultravnc[point]fr

Hors ligne jl56

  • Modérateur
  • *****
  • Messages: 342
  • Sexe: Homme
    • tuto SCIII
Re : comment faire un package SC en ligne de commande
« Réponse #10 le: 08 novembre 2007, 20:15:03 »
bonjour

je ne comprend pas non plus

pourquoi faire midi à 14 heures

M'enfin

a+ jl56

Hors ligne rcassard

  • Posteur
  • **
  • Messages: 6
Re : comment faire un package SC en ligne de commande
« Réponse #11 le: 09 novembre 2007, 08:03:56 »
Le but est très simple :

Je veux pouvoir développer sur ce projet car j'ai eu quelques traps avec uvnc que je voudrais corriger.

J'essaie, avant toute modif, de refabriquer le produit tel qu'il doit l'être et c'est là que ça bloque :
Les sources dans SVN ne sont visiblement pas à jour et il manque les fichiers pour la génération des packages

ce que j'ai fait, c'est exactement ce que tu indiquais benjy avec juste un peu de contrôle d'erreur

a+