Skriptovací jazyk pro instalace pod Windows

Skriptovací jazyk pro instalace pod Windows
« kdy: 30. 11. 2011, 15:08:13 »
Zdravím.

Ve vlastním aplikačním systému složeného z komponent potřebuju nahradit současný skriptovací systém postavený na kombinaci NSIS + BATCH, něčím lepším. Nevíte, někdo o něčem prosím. Podmínkou je jednoduchý binding do C/C++.

Budu v tom psát instalační skripty. Doposud jsem uvažoval o nějaké variantě Bashe, nebo i javascriptu, kdyby binding do C nebyl v MSWin tak komplikovaný. Mezi běžné úlohy - kopírování souborů, zápis do registrů, zápis do konfigů (ini), proměnné a environment. Nepotřebuju UI.

Dík


D.A. Tiger

  • ****
  • 486
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #1 kdy: 30. 11. 2011, 17:16:16 »
Pomohl by třeba C-Shell (csh) http://www.eng.hawaii.edu/Tutor/csh.html  nebo jeho modernější varianta (tcsh) http://www.tcsh.org/Welcome . Oba by měli mít syntaxi založenou na C, takže vytvořit nějaký binding minimálně do C by nemusel být teoreticky až takový problém (jestli už neexistuje, ale to nevím)....

D.A. Tiger

  • ****
  • 486
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #2 kdy: 30. 11. 2011, 17:22:32 »
Napadla mě ještě jiná věc. nepomohlo by třeba udělat jádro instalačního systému v C/C++ s API v C a pro skriptovací účely udělat nad API wrapper např. v jazyce LUA? Pro skript použijete LUA a pro binární formu přímo knhovnu.... také by to možná šlo.

Sten

Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #3 kdy: 30. 11. 2011, 17:23:05 »
A co rovnou Python? CPython i Boost.Python jsou výborné bindingy :-)

Na instalační systém by asi stačila Lua.

Logik

  • *****
  • 1 022
    • Zobrazit profil
    • E-mail
Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #4 kdy: 30. 11. 2011, 17:37:29 »
A co microsoftí VBScript. Jazyk je to sice blbej, ale přesně na tydle věci dělanej. A binding složitě nevypadá:
http://www.codeproject.com/KB/COM/scriptdemo.aspx
Opačná strana bindingu bude asi horší, to se asi dělá přes ty úžasní msoftí interfacy, ale taky to určitě půjde nějak hezky zabalit.


Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #5 kdy: 30. 11. 2011, 19:28:54 »
O pythonu jsem uvažoval, ale mám k němu trochu odpor, protože v něm občas musím něco udělat a považuju to za utrpení :-)

Pak mne napadl PHP, ale ani tam psát extensions není žádný med.

VBScript bude asi na podobné úrovni jak JS od MS. Předpokládám, že k vyrobení objektu musím vytvoři objekt který implementuje IDispatch, což samo osobně není nic easy, protože už takové tři speciální objekty udělal v jiném projektu a navazující JS programátor byl z těch objektů dost vedle, protože se třeba nedaly vydumpovat a vůbec se chovaly divně.

Na tu LUA se podívám, už jsem o tom četl.

lacod

Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #6 kdy: 30. 11. 2011, 20:56:29 »
Skus PowerShell. Volania na .NET kniznice idu bez probelemov. Volania unmanaged funkcii je mozne cez wrapper . Tu je priklad niecoho podobneho  http://stackoverflow.com/questions/142452/how-do-i-call-a-win32-function-in-powershell-1-0-using-p-invoke .

pozortucnak_

Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #7 kdy: 02. 12. 2011, 18:05:43 »
A co javascript? Myslim ýe se to jmenuje windows scripting host - jde tam uz výše zmíněný vbscript a nebo javascript - co jsem koukal tak by to mohlo být dost dobře použitelné...



andrej

Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #10 kdy: 03. 12. 2011, 17:26:23 »
Odporucam LUA-u alebo potom nejaky ten WSH, ale s tym nemam skusenosti. LUA je malicka, nenarocna, rychla, binding je s niecim ako tolua++ extremne jednoduchy (az sa to rozbeha, ale zvladol som to dokonca aj ja :) )...prakticky len upravis hlavicky a pustis tolua++ ktory ti vygeneruje cpp subor a mozes si v skripte vytvarat vlastne objekty, alebo k nim pristupovat) a su k tomu libky cez ktore sa da jednoducho pouzivat COM objeky (teda skriptovat office a podobne srandy).
Syntax je podobna pascalu, takze za 1-2 dni si v tom ako doma. Navyse sa da zdrojak skompilovat do bytecodu, nieco ako ma python.
Pouziva sa ako skriptovaci jazyk napr. vo wiresharku, ja sa sem tam s nou hram, ale paci sa mi stale viac a viac. Jedine co mi na nej chyba je preemptivny multithreading, ale zevraj original LUA interpreter je na to predpripraveny, staci tam zmenit prazdne #define na "mutexy", ale neskusal som to.

Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #11 kdy: 03. 12. 2011, 19:24:40 »
Chtěl bych poděkovat za návrhy. Zatím to vypadá, že bych použíl MS Script Host, protože mám v záloze nějaké adaptery pro vlastní objekty v C++. Takže si napíšu objekt Shell, který bude umět kopírovat soubory, mazat, přesouvat, a zapisovat do registru. To je oficiální řešení pro mého zadavatele. Výhodou je také to, že mám v týmu javascriptáře, kterému to pak mohu dát na starost.

Lua je zajímavá, ale syntaxe mi silně nevyhovuje. Připomíná mi to Basic.

Nicméně téma skriptovacích jazyků a jejich embedování do aplikací a zejména do C++ mne zaujal. Hlavně mne zaujalo, že jsem nenašel žádný čistě na C++ implementovaný skriptovací jazyk. Asi nejvíc jsem uvažoval o Google V8, ale odradily mě prerekvizity nutné jenom k přeložení celého jejich systému. Ve zkratce kanón na vrabce. Z jazyků, které jsou dnes lehce obsolete a které bych asi nejvíc využil je pro vás asi neznámý OFP script, což byl skriptovací jazyk pro hru Operation Flashpoint. Jeho rozšiřovatelnost byla velice jednoduchá, ale měl spoustu limitací.

Téma mě zaujalo natolik, že soukromě ve svém volném čase zkouším napsat něco mezi OFP scriptem a Javascriptem se snadným bindováním do C++. Vlastně to bude celé v C++, rozšířitelnost bude řešena děděním nějakého společného rozhraní a konstrukce objektů, které toto rozhraní implementují. Pokud budou výsledky, tak se o to podělím.

Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #12 kdy: 03. 12. 2011, 19:31:07 »
Poznámka: OFP Script - označovaný jako SQF, našel jsem o nějaký dokument o tom

http://seit.unsw.adfa.edu.au/coursework/ZEIT2305/Resources/SQF_Tutorial/basic_sqf.HTML

Jinak já ho znám zevnitř :-D. Bohužel z určitých právních důvodů ho nemohu použít.

Inkvizitor

Re:Skriptovací jazyk pro instalace pod Windows
« Odpověď #13 kdy: 03. 12. 2011, 19:59:32 »
Jenom pro zajímavost - proč je pro Tebe práce v Pythonu utrpení? Pokud jde o povinné odsazování, s rozumným editorem to není problém. Na rozdíl od různých obskurních jazyků typu SQF je Python hodně univerzální nástroj.