Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Aplikacja w aplikacji, czyli jak napisać instalator?

Ostatnio zmodyfikowano 2010-08-16 10:24
Autor Wiadomość
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ć ;>
P-20845
ison
» 2010-08-15 13:22:37
@up
tool fajny ale... dlaczego nie open source? :p
P-20846
Elaine
» 2010-08-15 14:05:01
Wszystko musi być open source?
P-20847
szyx_yankez
» 2010-08-15 14:07:59
No nie, ale przydał by się kod, w celach edukacyjnych.
P-20848
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) ;>
P-20849
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:
C/C++
unsigned char file[ 474849 ] =
{
    0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, //..
    //tu kod aplikacji (za długi by go tu wklejać :P
}

#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 ); //(1)
        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 :)
P-20850
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:)
P-20853
1 2 3 « 4 »
Poprzednia strona Strona 4 z 4