Witam. Sprawa wygląda tak: Szybko potrzebuję stworzyć instalator do mojego programu, a niestety mam mało czasu. Nie znam języka skryptowego z NSIS-a i nie mam czasu się go uczyć (mam kilka dni na skończenie dużego projektu + instalatora).
Nie potrzebuję niczego wielkiego, jedynie:
-instalatora
-deinstalatora
-wyświetlenia licencji
-dodania ikony na pulpit
-dodania programu do listy programów
Jeśli ktoś ma jakiegoś gotowca bardzo bym prosił o podanie.
Jesli znacie inne dobre instalatory, które nie wymagają znajomości żadnych języków skryptowych to proszę o liniki.
somekind
(somekind)
1 Marzec 2008 20:06
#2
Ja używam InnoSetup. Można ściągnąć z dobreprogramy.pl, tam też jest plik dla polskich instalatorów.
Przykład skryptu:
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
AppName=Nazwa programu
AppVerName=Nazwa programu 1.0
AppPublisher=MyCompany Software
AppPublisherURL=www.google.pl
AppSupportURL=http://www.google.pl
AppUpdatesURL=http://www.google.pl
DefaultDirName={pf}\Nazwa programu
DefaultGroupName=Nazwa programu
AllowNoIcons=yes
LicenseFile=D:\licencja.txt
OutputBaseFilename=Nazwa_programu_Setup
Compression=lzma/ultra
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "polish"; MessagesFile: "compiler:Languages\Polish.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "D:\Nazwa_programu.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\licencja.txt"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Nazwa programu; Filename: "{app}\Nazwa_programu.exe" ; WorkingDir: "{app}"; Comment: "Nazwa programu"
Name: "{group}\{cm:ProgramOnTheWeb,Nazwa programu}"; Filename: "http://www.google.pl"
Name: "{group}\{cm:UninstallProgram,Nazwa programu}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Nazwa programu"; Filename: "{app}\Nazwa_programu.exe"; WorkingDir: "{app}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Nazwa programu"; Filename: "{app}\Nazwa_programu.exe"; WorkingDir: "{app}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\Nazwa_programu.exe"; Description: "{cm:LaunchProgram,Nazwa_programu}"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent
Wystarczy nieco zmodyfikować
Miałem InnoSetup na kompie i jakoś go nie zainstalowałem… Wielkie dzięki! Wszystko da się w nim wyklikać
Męczę się od rana z tym NSIS-em. Uratowałeś mi życie… Wielkie dzięki!
Pojawił się problem Deinstalator nie usuwa plików utworzonych przez program.
somekind
(somekind)
2 Marzec 2008 00:14
#4
Niemożliwe. Powinien wywalić wszytko, co jest w sekcji [Files]. U mnie usuwa. (O ile oczywiście pliki nie są używane przez inne procesy, sprawdź to)
Ale tych plików nie było w sekcji files. Są to pliki które program sam utworzył podczas działania, są to wszystkie przechowywane przez niego dane.
somekind
(somekind)
2 Marzec 2008 13:18
#6
A to nic dziwnego
Poczytaj manula, pewno tam jest napisane, jak usunąć takie pliki. Bo ja nigdy nie miałem potrzeby.
Manual nie pomaga. Nie mogę nic znaleźć na ten temat
// Połączono posty.
Pokombinowałem i działa:
[UninstallDelete]
Type: files; Name: "{app}\*"
Type: files; Name: "{app}\config\*"
Type: files; Name: "{app}\ltm\*"
Type: files; Name: "{app}\fact\*"