Results 1 to 12 of 12

Thread: Packaging a program

  1. #1

    Thread Starter
    Addicted Member
    Join Date
    Jan 2001
    Posts
    244

    Packaging a program

    A program I have just written includes a common dialog box and as a result, requires certain files to be present in the OS.

    I tried to create a packaged program with the utility that comes with visual studio 6, but it creates a huge installer and requires a reboot.

    What do you guys use to create your install packages? This program is only 96kb and I cannot afford to create a 12mb installer package, nor can it require a reboot.

    Thanks,

    Jim

  2. #2
    PowerPoster RhinoBull's Avatar
    Join Date
    Mar 2004
    Location
    New Amsterdam
    Posts
    24,132
    Visual Vasic does not create a stand along program - it requires all mandatory runtime files and there is no way to bypass this issue. Although, if your distribution package (whatever utility was used) includes system file(s) in most cases it will require system restart in order to complete new registration(s). So, whether you like or not - there is a minimum that must be distributed.

  3. #3
    Frenzied Member vbNeo's Avatar
    Join Date
    May 2002
    Location
    Jutland, Denmark
    Posts
    1,994
    My packages are never > 4 megabyte, I use an application called Setup Factory 6... Maybe you should check it out.
    "Lies, sanctions, and cruise missiles have never created a free and just society. Only everyday people can do that."
    - Zack de la Rocha


    Hear me roar.

  4. #4

    Thread Starter
    Addicted Member
    Join Date
    Jan 2001
    Posts
    244
    But isn't MSCOMCTL.OCX part of the OS?

    I know that my installer package is no where near optimized. Hell, it includes MDAC by default in the installer and my app does not even begin to touch on anything even remotely MDAC related.

    The next question, is do you know of a way of coding around the need for comdlg? I have the code to browse for a folder that does not use it, but not for browse for file. If I could figure that out, it would be a stand alone app.

    Jim

  5. #5
    Frenzied Member vbNeo's Avatar
    Join Date
    May 2002
    Location
    Jutland, Denmark
    Posts
    1,994
    Originally posted by jlegan
    But isn't MSCOMCTL.OCX part of the OS?

    I know that my installer package is no where near optimized. Hell, it includes MDAC by default in the installer and my app does not even begin to touch on anything even remotely MDAC related.

    The next question, is do you know of a way of coding around the need for comdlg? I have the code to browse for a folder that does not use it, but not for browse for file. If I could figure that out, it would be a stand alone app.

    Jim
    Non of the VB runtimes are a part of any windows installation, and with good resons I guess - It really is unfair to competing languages, and doesn't show the user that VB really has some ugly sides.
    "Lies, sanctions, and cruise missiles have never created a free and just society. Only everyday people can do that."
    - Zack de la Rocha


    Hear me roar.

  6. #6
    Frenzied Member Jmacp's Avatar
    Join Date
    Jul 2003
    Location
    UK
    Posts
    1,959
    You still need msvbvm60.dll even if you do bypass the common dialog ctl.

    If your saying you have a 12mb install and have MDAC which is probably about 3-5 megs and maybe have the Jet engine as well and don't need them then............

  7. #7
    PowerPoster RhinoBull's Avatar
    Join Date
    Mar 2004
    Location
    New Amsterdam
    Posts
    24,132
    Originally posted by jlegan
    But isn't MSCOMCTL.OCX part of the OS ...

    Jim
    Regardless of availability you still need to include one in your distribution or your program may (in most cases it will) malfunction due to incompatibility.

    edit: silly spelling
    Last edited by RhinoBull; Jun 28th, 2004 at 12:11 PM.

  8. #8
    Hyperactive Member alacritous's Avatar
    Join Date
    Aug 2003
    Posts
    464
    Hello jlegan,
    A program called NSIS, found http://nsis.sourceforge.net/ is great because it compresses the files at great rates. I recently made a program (not too big, but is complete. help files, etc.) and included ALL the runtimes, and it finished up holding about 1.4 mb of space. But, NSIS is quite complex, and may be hard for you, so you can find a program on the NSIS website that converts .vbp and .exe to NSIS scripts. I find that this doesn't work great, so I go through much more 'horror', but gets the job done right. I use ********** to convert .vbp and my .exe to **********. Then I used Inno2NSIS to convert my inno to nsis script, then compile it and do whatever. I havn't used NSIS much, but I have found/heard that it can do a ton of stuff, and you can customize it like you want it.

    You can get ********** here.

    You can get NSIS here.

    You can convert **********s to NSISScripts using this.

    You can convert VB Files to NSISScripts using this.

    I hope this helps. Feel free to asks any questions.
    alacritous

  9. #9
    Member Siu Yan's Avatar
    Join Date
    Apr 2004
    Location
    Hong Kong --> Ireland
    Posts
    49
    I'm using Inno Setup http://www.jrsoftware.org/isinfo.php for my installation packages but I'm not sure will it suits for you
    Quitters never Win, Winners never Quit, But those who Never Win and Never Quit are Idiots

  10. #10
    Hyperactive Member alacritous's Avatar
    Join Date
    Aug 2003
    Posts
    464
    I'm using Inno Setup http://www.jrsoftware.org/isinfo.php for my installation packages but I'm not sure will it suits for you
    ???

  11. #11

    Thread Starter
    Addicted Member
    Join Date
    Jan 2001
    Posts
    244
    Ok, I downloaded Inno Script and Inno Setup.

    and...

    I learned a couple of things.

    Question though, based on the script generated and the help files I am a little confused.

    Here is a snippit of the help files under "unsafe files"



    Any DLL file from own Windows System directory
    You should not deploy any DLLs out of your own Windows System directory because most of them are tailored for your own specific version of Windows, and will not work when installed on other versions. Often times a user's system will be rendered unbootable if you install a DLL from a different version of Windows. Another reason why it's a bad idea is that when you install programs on your computer, the DLLs may be replaced with different/incompatible versions, and were you not to notice this and take action, it could also lead to problems on users' systems when you build new installations.

    Instead of deploying the DLLs from your Windows System directory, you should find versions that are specifically deemed "redistributable". Redistributable DLLs typically work on more than one version of Windows. To find redistributable versions of the Visual Basic and Visual C++ run-time DLLs, see the Inno Setup FAQ.
    If you have a DLL residing in the Windows System directory that you are absolutely sure is redistributable, copy it to your script's source directory and deploy it from there instead.

    ADVAPI32.DLL, COMDLG32.DLL, GDI32.DLL, KERNEL32.DLL, RICHED32.DLL, SHELL32.DLL, USER32.DLL
    These are all core components of Windows and must never be deployed with an installation. Users may only get new versions of these DLLs by installing a new version of Windows or a service pack or hotfix for Windows.


    But by default, Inno Script tried to add RICHED32.DLL to my app and I have NO rich text boxes. Also, it says I should never use the files out of my own system directory (which I know) but where should I get the files from. The VB6 runtime files are only a fraction of the files it says I need below. I copied mine in there just so that I can compile it for testing.

    Code:
    [Files]
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msvbvm60.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\oleaut32.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\olepro32.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\asycfilt.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\stdole2.tlb; DestDir: {sys}; MinVersion: 0,4.0; Flags:  uninsneveruninstall sharedfile regtypelib
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\comcat.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msrdc20.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msrdo20.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\tabctl32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msflxgrd.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\comdlg32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\mscomctl.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\mscomct2.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msinet.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\richtx32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\mschrt20.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\mswinsck.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msmapi32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\mci32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\picclp32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\sysinfo.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\mscomm32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msmask32.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msdatgrd.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msstdfmt.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msdatlst.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\comct332.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\msadodc.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\mshflxgd.ocx; DestDir: {sys}; MinVersion: 0,4.0; Flags:  regserver restartreplace sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\rdocurs.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  sharedfile
    Source: c:\program files\randem systems\**********\********** 2.3\vb6 runtime\odbc32.dll; DestDir: {sys}; MinVersion: 0,4.0; Flags:  sharedfile
    Last edited by jlegan; Jun 28th, 2004 at 07:34 PM.

  12. #12
    Hyperactive Member alacritous's Avatar
    Join Date
    Aug 2003
    Posts
    464
    Hello,
    I am not too sure as of your question. I havn't really came upon that and have not encountered any errors. Try contacting their help/support place or maybe someone here knows the solution.

    alacritous

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width