Prosty instalator w C#


(Jarek P) #1

Witam.

Potrzebowałbym zrobić prosty instalator dla mojego programu. Wyglądał by tak:

Formatka, klikasz instaluj i od razu (textboxy, dialogi itp już załatwione) instaluje, tj wrzuca plik z (skompilowany wcześniej program) do katalogu. Przydałaby się jeszcze opcja uruchom przy starcie". Z góry dziękuję za pomoc i propozycję.


(Ryan) #2

Użyj gotowego rozwiązania, np. nullsoft installera:

http://nsis.sourceforge.net/Main_Page


(Jarek P) #3

Wiem, że mógłbym, ale muszę to zrobić sam. Chodzi mi o samą akcję przeniesienia pliku z resources do folderu.


(Ryan) #4

Umieść zasób w programie, odczytaj go przy pomocy czegoś w stylu:

byte []buf;

using (res = typeof(KlasaProgramu).Assembly.GetManifestResourceStream("plik_w_res"))

{

    buf = new byte[(int)res.Length]; 

    res.Read(buf, 0, (int)res.Length);

}

A następnie zapisz buf do pliku.


(Jarek P) #5

Coś robię nie tak... Ale co ?

var res = typeof(Program).Assembly.GetManifestResourceStream("kk.exe");


                byte[]rr = new byte[(int)res.Length]; // Tu się debugger zatrzymuje

                res.Read(rr, 0, (int)res.Length);


               FileStream fs = new FileStream("C//Users//Jarek//Desktop//kdk.exe",FileMode.Create);


               fs.Write(rr, 0, rr.Length);

(Ryan) #6

Musisz dodać odpowiedni wpis w HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run. Zerknij co już tam jest, jeśli potrzebujesz przykładu.


(Jarek P) #7

Coś mi nie chce działać sam zapis. Jakieś pomysły ?