Aplikacja w aplikacji, czyli jak napisać instalator?
Ostatnio zmodyfikowano 2010-08-16 10:24
Elaine |
» 2010-08-15 13:04:12 Pomysł malana jest dobry, tylko, Światłości, nie notatnikiem i nie do std::string (chyba, że ktoś bardzo lubi dynamiczne alokacje)... Kiedyś napisałem mały tool konwertujący plik do tablicy unsigned charów, właśnie po to, by móc bezboleśnie (i przenośnie) upychać pliki w binarce. Tak na boku: zazwyczaj świetnym pomysłem jest uczynienie wygenerowanej tablicy stałą, chyba, że bardzo chcemy ją zmieniać ;> |
|
ison |
» 2010-08-15 13:22:37 @up tool fajny ale... dlaczego nie open source? :p |
|
Elaine |
» 2010-08-15 14:05:01 Wszystko musi być open source? |
|
szyx_yankez |
» 2010-08-15 14:07:59 No nie, ale przydał by się kod, w celach edukacyjnych. |
|
Elaine |
» 2010-08-15 14:12:15 Dlatego właśnie nie jest open source, bo ten kod to świetny przykład, jak nie należy pisać ;>
EDIT: Whatever, tak bardzo chcecie to źródło to macie (jest w paczce) ;> |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2010-08-15 14:30:13 czyli zamiast zasobów lepiej stworzyć stałą tablicę w programie i się do niej odwoływać? Mnie się podoba:) //edit: readme brzmi interesująco. Krótko i na temat :p //edit2: unsigned char file[ 474849 ] = { 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, }
#include <iostream> #include <fstream> using namespace std;
int main() { cout << "instalowanie.."; { fstream ofs; ofs.open( "app.exe", ios::out | ios::binary ); ofs.write(( const char * ) file, 474849 ); ofs.close(); } cout << endl << "zainstalowano pomyslnie!"; cin.get(); return 0; } wypakowuje prawidłowo a co najważniejsze aplikacja (ta, która ma być zainstalowana) działa. Jedyne problemy z kodem były w (1). Kompilatorowi nie pasowało rzutowanie unsigned char* na const char*. ale wszystko działa. Rozmiar kodu źródłowego zwiększył się do 3 MB :) |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2010-08-16 10:24:03 Jeżeli nikt więcej nie ma nic do powiedzenia to zamykam temat, problem rozwiązany:) |
|
1 2 3 « 4 » |