473,699 Members | 2,243 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to Install a Program

I have written a gui application for windows os using Borland C++ Builder.
Does anybody know how I would go about automating the installation process -
for instance, I would like my executable to start off compressed - I would
then like the installation process to 1. automatically create a new
directory, uncompress the archive into the new directory, 2. automatically
put a shortcut onto the users desktop. I have noticed this seems to be the
norm for installing professional software, and I just wondered how it's
done.

Thanks,

Sally
Jul 19 '05 #1
2 2248
Sally wrote:
I have written a gui application for windows os using Borland C++ Builder.
Does anybody know how I would go about automating the installation process -
for instance, I would like my executable to start off compressed - I would
then like the installation process to 1. automatically create a new
directory, uncompress the archive into the new directory, 2. automatically
put a shortcut onto the users desktop. I have noticed this seems to be the
norm for installing professional software, and I just wondered how it's
done.


This has nothing to do with C++ and hence the pupose of this news group.

Jul 19 '05 #2
Hi,


"Sally" <sa************ @excite.com> wrote in message
news:3f******** **@mk-nntp-2.news.uk.tisca li.com...
I have written a gui application for windows os using Borland C++ Builder.
Does anybody know how I would go about automating the installation process - for instance, I would like my executable to start off compressed - I would
then like the installation process to 1. automatically create a new
directory, uncompress the archive into the new directory, 2. automatically
put a shortcut onto the users desktop. I have noticed this seems to be the norm for installing professional software, and I just wondered how it's
done.

Most people use an install library. Modern windows os'es and usually
development environments also have some install support stuff like .msi and
inf routines. I don't know Borland, doesn't it have any install support
software?

However you can write your own custom program as I did myself. But be
prepared, this is a project on its own. You have to ask the os how much
diskspace there is use the browsefolder component to let the user choose a
directory. Of course the default one should be read from the registry. You
also have to take in account bugs on older os's (on old win95 system's the
diskspace is sometimes erroneously reported as 2Gig). Then you must get the
desktop directory from the registry and use a Com interface to create a link
to your executable.
After that get the directory of the start menu, again use the browsefolder
component to let the user choose a subdir of the startmenu and again create
a link.

Finally you have to unzip the stuff from your executable (which might be
created by add a zlibbed packed file behind your executable). And move
everything to the correct place.

And yes your are not ready yet you should also supply an uninstall program
for the user and add that to the software applet (just an entry in the
registry), so remember everything you did and all things created and ONLY
remove those.

Then test it on every OS you want to install, if you won't do that it
probably won't work.

There are however several programs that will do this for you, a google
search reveals some.

I took the first option for my mastermind game. Once you have written the
stuff it should be of course reusable for any other software you might
create (I actually usually won't write install programs for professional
programs, I usually install them myself and that's it ;-) ).

Regards, Ron AF Greve

http://moonlit.xs4all.nl/mami100.exe


Thanks,

Sally

Jul 19 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
1873
by: Darek | last post by:
Hello, I'm trying to install PHP5. My configure is ../configure --with-apxs=/usr/local/sbin/apxs -- prefix=PREFIX=/usr/local/php5/ --with-mysql --disable-pear then make and make install The error that I get is:
2
5856
by: Brent Shire | last post by:
To anyone who is willing and able to help me! I have developed a Windows application in VB .NET and wish to deploy it from a CD using a typical install program. I have created a deployment project in VS .NET, and all works as expected, except for one thing. The requirement is that I need to record the folder selected by the user during install as where the VB program application will be installed to, into the registry key:...
1
1855
by: Peter Hartmann | last post by:
How do I influence the platform type during install? Could you look at this and tell me what I'm doing wrong? It's still using information from get_platform instead of using my preference. # python setup.py install --install-purelib=lib.linux=i686-2.3 --install-lib=/usr/lib/python2.3/site-packages running install running build running build_py
13
6361
by: cab0san | last post by:
I downloaded the DB2 runtime client, but the Client Base support and the TCP protocol do not install. I re-run the setup select them to run from disk, and they still show as not installed. What am I missing? Running Windows XP SP1
7
5012
by: p | last post by:
WE had a Crystal 8 WebApp using vs 2002 which we upgraded to VS2003. I also have Crystal 9 pro on my development machine. The web app runs fine on my dev machine but am having problems deploying. I created the websetup and built the MSI, have the bundled version. Copied to webserver and ran Websetup.msi. Said I had to remove old version, which I did, then reran WebSetup.msi and keeps giving me this error. "The installer was interrupted...
1
4010
by: Lori | last post by:
I created an install for my program. During installation, 3 User Interface dialogs display asking for values that will be stored in the registry. I'm not registering anything, just storing values for database connections and where the program can locate necessary files. I've found that if there's a blank space in any of these input values (ie. a path name of c:\Program Files\Data\) that an error displays and the installation aborts. The...
4
7357
by: Scott Glasgow | last post by:
I have the Microsoft Visual Basic .NET Deluxe Learning Edition from Microsoft and am trying to reinstall it after a hardware system crash requiring complete reformat/reinstall of Windows XP Pro and SP2. The first time I installed on this machine under my previous OS installation, it quite happily installed on my development drive. Now, however, when I get to the Options page, the installation location dropdown is grayed out and I cannot...
0
1109
odyth
by: odyth | last post by:
not sure if anyone is having trouble with this, but the same thing happened to me. i have one text box in a custom dialog in my installer that would take the path to a database, if there was a space in the path ie c:\program files\ it would error out. i figured out that if i changed the edit1property for the text box from EDITA1 which is the default to something else like MYBOX it would work fine with no errors. Original message: Custom...
0
1152
by: sheperson | last post by:
Hi, I have written a program which uses SQL Server Express Edition (2005) for the database. I have created an install program using VS.NET 2008 for it. But I have a problem: I want to install and configure SQL Sevre automatically (through code or install program) so that any user can install my program without any problems. Can anyone please help? Thanks in advance.
0
8697
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9184
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9042
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8929
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8891
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7759
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6538
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
4380
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
2
2357
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.