[NSIS i InnoSetup] Trochę bardziej wypasiony instalator

0

Otwieram NSIS, aby utworzyć w nim instalator na Windows.
Wybieram "Installer based on ZIP file".
No i uzupełniam parę pól. Instalator jest utworzony, ale jest trochę biedny. Nie ma ani ikony na pulpicie, ani nie ma deinstalatora, ani nie dodano programu do listy programów. Jak stworzyć bardziej "wypasiony" instalator?

0

Edytujesz plik nsi i wklepujesz wszystko recznie. NSIS ma calkiem niezla dokumentacje, a poza tym w googlach mozesz znalezc stronke po polsku z przetlumaczona ta wlasnie dokumentacja.

0

A nie da się pobrać gdzieś jakiegoś gotowca. Potrzebne mi są tylko przeciętne funkcje.

0

Przyklady sa rowniez na stronie nsis'a. Ale nie wiem czego szukasz, bo nie napisales. Wszystkie 'przecietne' funcje opisane sa w manualu, w czym problem? Mi stworzenie skomplikowanej instalki zajmuje srednio 2 dni piszac wszystko recznie, wiec nie rozumiem klopotu...

0

Potrzebuje jedynie:
+deinstalatora
+ikony na pulpicie
+dodania programu do listy programów
+wyświetlenie licencji

A nie mam czasu na uczenie się obsługi NSIS-a bo program szybko oddać muszę...

0

Przede wszystkim to
http://www.pepesoft.tox.pl/nsis_pl/contents.php

  1. sekcja uninstaller i http://www.pepesoft.tox.pl/nsis_pl/rozdzial2.php#2.3.3 oraz WriteUninstaller
  2. File i zapisujesz ikony w katalogu docelowym, czyli pulpicie wlasnie. Pomocne bedzie http://www.pepesoft.tox.pl/nsis_pl/rozdzial4.php#4.2.3
  3. patrz wyzej
  4. http://www.pepesoft.tox.pl/nsis_pl/rozdzial4.php#4.5.4 i http://www.pepesoft.tox.pl/nsis_pl/rozdzial2.php#2.3.2

To tak w skrocie.

0

Licencja:

!insertmacro MUI_PAGE_LICENSE "..\..\Licencja.txt"

Skrót:

CreateShortCut "$DESKTOP\Mój skrót.lnk" "$INSTDIR\Mój program.exe" "" "" "" SW_SHOWNORMAL "" "Opis skrótu"

Menu start:

!insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP

//...


!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
CreateDirectory "$SMPROGRAMS\$ICONS_GROUP"
CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Mój skrót.lnk" "$INSTDIR\Mój program.exe"
!insertmacro MUI_STARTMENU_WRITE_END
0

A co zrobić, żeby NSIS wygenerował mi podstawowy instalator w postaci skryptu? Bo jak klikam "Installer based on ZIP file" to mogę tylko wygenerować plik *.exe.

0

NSIS to tylko kompilator instalatorów. Ty musisz stworzyć skrypt - czy to w jakimś środowisku, czy też zwykłym notatniku; to plik tekstowy. Jakiego środowiska do niego używasz, bo wygląda mi na to, że nie samego kompilatora?

0

Przyznam, że nie napisałem jeszcze żadnego skryptu. Jedyne co robiłem to wyklikiwałem prostego instalatora. To co polecasz do pisania skrytpów?

0

Notatnik lub - z kolorowaniem składni - Notepad++

0

A nie ma gdzieś na necie jakiegoś gotowego skryptu z tą instalacją, deinstalacją, licencją, ikoną na pulpicie i dodaniem do listy programów? Nie wierzę, że nikt już tego nie napisał. Jest to przecież podstawowa funkcjonalność. Mam mało czasu, a jeszcze dużo do zrobienia. Dlatego nie mam za bardzo czasu na naukę tego języka skryptowego.

0

Dzizyz, Crane... Zrozum, ze tu nie ma wiele do nauki. Przedstaw swoj skrypt, ktory do tej pory uzyskales w czymkolwiek (bo dalej nie wymieniles nazwy srodowiska) to Ci dopiszemy co trzeba. Zwykle nsis dziala tak, ze piszesz sobie w notatniku skrypt (plik nsi), dajesz prawym, kompiluj nsis i juz. Znajdz w swoim projekcie plik nsi i zamiesc. To o co pytasz to podstawy i w zwiazku z tym, ze to az takie podstawy to w linkach, ktore zamiescilem tak prostych przykladow nie ma. Przyloz sie wreszcie i zaloz, ze musisz poswiecic 30 minut, zeby zrozumiec co w pliku nsi jest napisane albo szukaj dalej gotowego pliku spelniajacego Twoje i tylko Twoje wymagania...

PS. Pomijam fakt, ze Szczawik podal Ci dokladne rozwiazanie, ktore pozostaje tylko wkleic do skryptu, ale nawet tyle nie chcialo Ci sie rozeznac...

0

Udało się znaleźć lepszy instalator ;)

@johny_bravo
Rozumiem, że możesz mnie mieć po tym co pisałem w tym temacie za niedorozwoja, ale ja naprawdę nie miałem czasu na grzebanie w tych skryptach. Musiałem dokończyć ważny projekt, dla którego to właśnie był mi potrzebny ten instalator.

p.s. Ten lepszy instalator to InnoSetup...

0

Ja Cie nie mam za niedorozwoja, tylko wystarczylo podac tutaj kod, ew. dopytac sie gdzie wkleic to co podal Szczawik. A tak to wychodzisz na typowego przedstawiciela gatunku klikaczy, ktorzy robia wielkie oczy na sama mysl, ze maja do kodu zagladac...

PS. InnoSetup to inny instalator, nie lepszy :) Ale jak Ci odpowiada no to problem rozwiazany i w sumie to sie liczy.

0

wychodzisz na typowego przedstawiciela gatunku klikaczy

Po prostu nie lubię języków skryptowych z taką dziwną składnią. Swoją drogą, czy nikt nie wymyślił jakieśj bilbioteki do tworzenia instalatorów? Pisałoby się np. w Javie/C++. Po co tworzyć nowy język...

Mam problem z InnoSetupem :(
Deinstalator nie usuwa plików utworzonych przez sam program. Pliki te są tworzone w tym samym katalogu, w którym zainstalowany jest program.

0
Crane napisał(a)

Po prostu nie lubię języków skryptowych z taką dziwną składnią. Swoją drogą, czy nikt nie wymyślił jakieśj bilbioteki do tworzenia instalatorów? Pisałoby się np. w Javie/C++. Po co tworzyć nowy język...

Po pierwsze parsowanie tego skryptu jest duzo latwiejsze niz javy czy C++. Po drugie nie kazdy zna te jezyki, wiec zawsze bylby problem, ze czemu nie Delphi, Pascal czy brainfuck ;) A po trzecie nie kazdy jest programista - z takim podejsciem latwiej napisac graficzna nakladke.

PS. InnoSetup nie znam, to tu Ci nie pomoge.

0

Po pierwsze parsowanie tego skryptu jest duzo latwiejsze niz javy czy C++.

Ja bardziej myślałem o tym, żeby to było normalnie kompilowane.

Jeśli ktoś zna InnoSetup to prosze o pomoc.

0
Crane napisał(a)

Deinstalator nie usuwa plików utworzonych przez sam program. Pliki te są tworzone w tym samym katalogu, w którym zainstalowany jest program.
Instalator podczas instalacji tworzy listę plików do usunięcia podczas deinstalacji. Te pliki są dodawane po instalacji więc nie ma ich na liście(nie są usuwane). Proste :-) Może się przydać: http://klub.chip.pl/innosetup/Innosetup/faq.htm#emptydirs

0

W InnoSetup tez piszesz skrypty. Tyle ze tam masz kreatora ktory wygeneruje skrypt z podstawowymi funkcjonalnosciami z ciebie, czego w instalatorze Nullsoftu nie ma.

Ja tez osobiscie wole jakos InnoSetup jednak.

0

Trochę pokombinowałem:

[UninstallDelete]
Type: files; Name: "{app}\*"
Type: files; Name: "{app}\config\*"
Type: files; Name: "{app}\ltm\*"
Type: files; Name: "{app}\fact\*"

Może jest lepsze rozwiązanie, ale to w każdym razie działa...

0
Crane napisał(a)

Może jest lepsze rozwiązanie, ale to w każdym razie działa...
Ja nie widzę niczego lepszego. Skoro działa to po co kombinować?

0

Ja nie widzę niczego lepszego. Skoro działa to po co kombinować?

A jak Twój program działa, to nie starasz się, żeby działał lepiej?
Jeśli ma paskudny kod, ale działa, to nie starasz się go poprawić?

0
Crane napisał(a)

Jeśli ma paskudny kod, ale działa, to nie starasz się go poprawić?
Jeżeli przez przypadek znajdę lepsze rozwiązanie to poprawię :-D

0

Witam,
Widzę, że kolega "przestraszył" się NSIS - nie ma czego, to naprawdę dobry, elastyczny i w miarę prosty system tworzenia instalatorów. Polecam przejrzeć katalog z przykładowymi skryptami NSIS (C:\Program Files\NSIS\Examples). Znajdziesz tutaj wszystko co chcesz. Jak już wspomniano istnieje bardzo szczegółowa dokumentacja, którą warto poczytać. Na tej podstawie można bardzo szybką stworzyć całkiem użytecznego i profesjonalnego instalatora.

Od jakiegoś czasu próbuję stworzyć polską wersję NSIS (program + dokumentacja (http://www.pepesoft.tox.pl/nsis_pl/contents.php)). Sporo już zrobiłem, ale niestety czasu nie starcza... ale będzie (mam nadzieję, że jeszcze w tym roku). Jeśli ktoś z was przeglądając polską dokumentację NSIS spotka jakiś błąd/niedopatrzenie, bardzo proszę o informacje.

Ps: Inno Setup to również dobry program, żeby nie było...
Pozdr,
-Pawel

1 użytkowników online, w tym zalogowanych: 0, gości: 1