Making an installer package using a console app

This is a discussion on Making an installer package using a console app within the C++ Programming forums, part of the General Programming Boards category; >> Couldnt you read in the executable byte by byte into an unsigned char array? << Someone's already written this ...

  1. #16
    Yes, my avatar is stolen anonytmouse's Avatar
    Join Date
    Dec 2002
    Posts
    2,544
    >> Couldnt you read in the executable byte by byte into an unsigned char array? <<

    Someone's already written this utility for you. This program will convert a binary file to a C data array declaration.

  2. #17
    i dont know Vicious's Avatar
    Join Date
    May 2002
    Posts
    1,200
    sweet
    What is C++?

  3. #18
    Registered User Kybo_Ren's Avatar
    Join Date
    Sep 2004
    Posts
    136
    The self-extractors I've seen simply append the data to the end of the file.

    You know how you have sections like .rsrc, .text, .code?
    Well if you look at a WinZip SFX, you'll se another section called "_winzip_"

    If you disassemble that SFX, you'll find that the _winzip_ section is simply a database that holds the zip file.


    This is quite similar to the xd application posted above, but it puts the data in a different section.

  4. #19
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    Hm, perhaps you could even pre-pend the data, if you write a program that will modify the executable file header to specify the application entry point at a later offset, and then stick the archived files in front of the executable code. Not sure exactly how the executable file is structured, but I took a quick look at www.wotsit.org under MS's exe docs, and it does seem that there's a 'entry point offset' part in the file header.
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

  5. #20
    Super Moderator VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,590
    Just use InstallShield and setup your project inside of it. All of this has already been done for you. No sense in re-inventing the wheel.

  6. #21
    Registered User
    Join Date
    Sep 2004
    Location
    California
    Posts
    3,246
    Unless I'm mistaken, the cheapest version of installshield is around $400. For that price I will gladly re-invent the wheel.

  7. #22
    Software Developer jverkoey's Avatar
    Join Date
    Feb 2003
    Location
    University of Waterloo
    Posts
    1,903
    ARG!

    http://nsis.sourceforge.net/

    Go get NSIS! It's a FREE install file creator that you can customize incredibly. It's easy to use, and quite a few people use it (You'll occasionally see an installer with NSIS v2.01 or something like that at the bottom, made with NSIS!)

  8. #23
    Carnivore ('-'v) Hunter2's Avatar
    Join Date
    May 2002
    Posts
    2,879
    >>Unless I'm mistaken, the cheapest version of installshield is around $400.
    MSVC 6 pro came with it a few years ago, I got the whole package for $160 canadian (academic pricing).
    Just Google It. √

    (\ /)
    ( . .)
    c(")(") This is bunny. Copy and paste bunny into your signature to help him gain world domination.

Page 2 of 2 FirstFirst 12
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. How to execute a console command from your app?
    By GUIPenguin in forum C# Programming
    Replies: 2
    Last Post: 07-06-2006, 09:36 AM
  2. Using C++ to run a Console APP?
    By anon2222 in forum C++ Programming
    Replies: 4
    Last Post: 01-10-2006, 07:07 AM
  3. Making a virtual console (Linux)
    By Moddy in forum C++ Programming
    Replies: 2
    Last Post: 12-16-2005, 11:54 AM
  4. Making standalone APP run in background
    By hart in forum Windows Programming
    Replies: 3
    Last Post: 02-27-2005, 10:20 AM
  5. making a stealthy win32 console application?
    By killdragon in forum C++ Programming
    Replies: 3
    Last Post: 09-08-2004, 02:50 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21