|
-
Jun 28th, 2004, 09:30 AM
#1
Thread Starter
Addicted Member
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
-
Jun 28th, 2004, 09:38 AM
#2
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.
-
Jun 28th, 2004, 09:40 AM
#3
Frenzied Member
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.
-
Jun 28th, 2004, 09:58 AM
#4
Thread Starter
Addicted Member
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
-
Jun 28th, 2004, 10:07 AM
#5
Frenzied Member
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.
-
Jun 28th, 2004, 10:08 AM
#6
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............
-
Jun 28th, 2004, 11:02 AM
#7
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.
-
Jun 28th, 2004, 11:35 AM
#8
Hyperactive Member
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
-
Jun 28th, 2004, 11:52 AM
#9
Member
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 
-
Jun 28th, 2004, 12:10 PM
#10
Hyperactive Member
-
Jun 28th, 2004, 06:49 PM
#11
Thread Starter
Addicted Member
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.
-
Jun 28th, 2004, 09:19 PM
#12
Hyperactive Member
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
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|