poniedziałek, 10 sierpnia 2015

Sprawdzanie spójności danych Na koniec instalacji inno setup.

Implementowanie innych programów do inno setup

Sprawdzenie spójności danych na koniec instalacji . 

Podczas tworzenia instalatorów dla patchy ważne jest aby po uaktualnieniu plików programu wykazać czy program ma wpełni podmienione pliki i czy czegoś nie brakuje. 
Błędna linijka w skrypcie, usunięty plik przez użytkownika lub przez antywirus mogą doprowadzić wysypywania się programu. 

Aby wymusić sprawdzanie plików pod kątem zgodności będzie nam potrzebny program : 
QuickSFV v2.36 X86!!! 

Dostepny na stronie http://www.quicksfv.org/download.html
Nie będę opisywał jak działa ten program, tylko jak wpleść go w instalator aby ten za zgodą użytkownika sprawdzał pliki na końcu instalacji. 

Otwieramy nasz skrypt i dodajemy w sekcji [RUN]
następująca linie:

Filename: "{app}\QuickSFV.exe"; Parameters: "o22y.sfv"; Description: "Sprawdz poprawnność plików";  Flags: postinstall hidewizard unchecked

Aby całość wyglądała tak: 


Uwaga!!! 
Funkcja :  Parameters: "o22y.sfv"; tyczy się tylko dla danego przykładu. Jeśli twój plik z sumami kontrolnymi nazywa się inaczej to wtedy tą nazwę musisz wpisać w skrypcie i w pliku konfiguracyjnym QuickSFV.ini opisywany niżej.
Przykład:
Jeśli twój plik sfv nazywa się: bronek.sfv
to wpis w skrypcie powinien być: Parameters: "bronek.sfv" a w pliku ini. :
Signature=bronek

Teraz w moim przypadku do katalogu z plikami do skompilowania dodajemy jeszcze trzy pliki : 

QuickSFV.exe ---> nasz program 

QuickSFV.ini ---> plik konfiguracyjny. Jeśli go nie masz odpal  raz QuickSFV.exe i go zamknij

o22y.sfv ---> informacje o plikach. Sumy kontrolne. Tworzenie tego pliku pomijam. 








Edytujemy plik QuickSFV.ini i zmieniamy wartość signature na tę którę używamy w skrypcie: 
Signature=o22y

Możemy już kompilować instalator. 


Po skończonej instalacji użytkownik będzie musiał zaznaczyć ze chce takiego sprawdzenia plików po instalacji . 


Gototwe. 

6 komentarzy :

  1. Dzieki za poradnik.
    Z tego co piszesz wnioskuje ze plik "QuickSFV.exe" powinien znajdować się głównym katalogu programu z którego chcemy zrobić instalator. A jak powinna wyglądać linijka skryptu gdy chcemy dodać do instalatora możliwość instalacji zawartości folderu "redist" np DirectX itp.
    Próbuje zrozumieć jak skrypt odnajdzie dany program dodatkowy który znajdzie się w innej lokalizacji niż katalog główny.

    OdpowiedzUsuń
  2. Wręcz identycznie. Ręcznie trzeba edytować ścieżki i dodawać wszystko z osobna, Zasadniczo jest to strasznie żmudne zadanie które trzeba zawsze powtarzać i lepiej się zdać tu jak już na polecenia #define.
    Ale gdy bys chciał jednak ręcznie to robić to wtedy :

    Filename: "{src}\Redist\Directx\Directx.exe"; Parameters: "silent"; Description: "Zainstaluj Directx"; Flags: postinstall hidewizard unchecked


    Co do instalacji zawartości folderów to bym musiał się trochę wgłębi w temat, ale nie sądzę że inno setup posiada taka możliwość sam w sobie. Tu już możliwe że będzie potrzebny jakiś dodatkowy skrypt.

    OdpowiedzUsuń
  3. Właśnie o to mi chodziło, Dzieki z podpowiedz. Nie przeraza mnie ręczna edycja ścieżki, a z poleceniami #define całkiem nie wiem o co chodzi :D

    Dodatkowe skrypty to raczej ludzie piszą sami dla siebie i w sieci chyba nie są łatwo dostępne.

    OdpowiedzUsuń
  4. A ja mam Win 10 i dupka blada...nie działą mi ani ten program jaki tutaj radzisz pobrać, ani Simsy, wyskakuje pod koniec instalacji błąd. :( Buu

    OdpowiedzUsuń
  5. Bardzo fajnie napisane. Jestem pod wrażeniem i pozdrawiam.

    OdpowiedzUsuń


FreePeer.org