setup project bootstrapper question

M

Matt Fielder

I'm writing a new install as a setup and deployment project. I have 3
pre-requisites set in the bootstrapper - Framework V2, SQL Express, Windows
Installer 3.1. When the setup is launched, it immediately recognizes which
items aren't installed and prompts with the appropriate license agreements
for each product needed. What I need is to find a way to inform my users of
what is happening before just flashing new EULA's in front of them -
something to the affect of a form stating that their system will be checked
for necessary components etc. The way things work now without letting users
know what's going on is less than user-friendly.
 
S

Steven Cheng[MSFT]

Hello Matt,

From your description, you're wondering how to prompt some instruction or
information before the VS generated setup program do the bootstrapper
(prerequists installing), correct?

Based on my experience, since the bootstrapper stub is called at the
earliest time in a setup program(VS generated or manually developed through
windows installer sdk), you can not directly add such an additional prompt
in the setup program. I've discussed this with some setup engineers and
they suggest that you create a thim program(exe) in which you first display
all the instruction or information you want to prompt and then
programmatically launch the actual setup.exe(generated throgh VS setup
project). How do you think?

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
 
M

Matt Fielder

I've thought about the idea of creating just a small app that lets them know
what's about to happen as you've suggested. The problem is how do I do that
when one of the pre-requisited is the .Net framework itself? I suppose I
could do something very simple in VB6, but am concerned about it looking
poor. Are there other options for doing this type of thing?
 
S

Steven Cheng[MSFT]

Thanks for your reply Matt,

Yes, for such shim app, it is recommended not use .net framework to build
it(or VB) since they will rely on runtime framework(or VB runtime libs ).
If possible, using vc to build a small windows application would be
preferred. Also, there are other options such as use a html page (which is
easy to design and can display on any machine which has webbrowser). And in
the default.htm(or readme.htm) page you can prompt all the necessary
installation instructions include the pre-requisited. And you can provide
some link on the page which point to the actual setup program. How about
this?

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead



This posting is provided "AS IS" with no warranties, and confers no rights.
 
C

Chris Mullins [MVP]

To get around this problem, we created a nice looking WinForms application
in .Net, and then compiled it to a native EXE using remotesoft's linker.

This gives us a very nice looking app that that user can use to select "what
to install", we can show whatever we want prior to the actually MSI being
run, and then the MSI goes through the standard bootstrap process.

Using the RemoteSoft product, we're able to build .Net apps that run
everywhere and don't need the .Net framework to be installed.
 
M

Matt Fielder

Chris,

Thanks for your reply. As this is a downloadable "try before you buy" type
situation, size matters. We have been using XenoCodes product to generate
Native X86 Assemblies already, and we could do this to create a form as
you've stated, but about the minimum size for a native file is 11MB, which
is a file size cost higher than I'm comfortable with just for a single form
and launcher.
 
M

Matt Fielder

Steven,

I want to stay away from the htlml page as it would seem odd to me as an end
user to start out the install process for my windows forms application in a
web browser.

This leaves the two options of VB6 or vc:
I've started down the path of creating the form and launcher in VB6 --- you
did mention the runtime libs being needed --- have they not been distributed
with all versions of Windows for years?

As for vc - I know absolutely nothing about it at all - as for just creating
a message, I suppose it's nothing more than a "hello world" fancied up a
bit, but when talking about vc and starting other applications, I get a
little concerned on how long of a learning curve would be involved.
 
S

Steven Cheng[MSFT]

Thank for your reply Matt,

I agree that VB will be preferred if you haven't any available vc
development resource at hand. Also, you're right that for most lastest
windows OS(from XP, 2003...), VB6 runtime is preinstalled and you only need
the application program(if it simply display some UI window).

Anyway, in case you have interets, here are some web article demonstrating
creating simple MFC dialog(SDI) based application:

http://www.codeproject.com/dialog/web_gui.asp?df=100&forumid=76512&exp=0&sel
ect=876110

http://courses.washington.edu/css450/Winter2006/web_contents/from_students/4
50Hints/VC7.Help/CreatingDialogAppWithMFC7.pdf

http://www.flounder.com/dialogapp.htm

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead



This posting is provided "AS IS" with no warranties, and confers no rights.
 
M

Matt Fielder

Steven,

The VB6 UI that I have is a simple form with some labels telling them what's
about to happen, a graphic to make things look nice and two buttons - one
that launches the install and one that cancels. Just a few controls and
about 3 lines of code.

You mention that the VB6 Runtime is included with OS of XP or greater.
A couple of quick quesitons: First is it safe to assume Vista will include
as well? Do you know if the runtime is included on Windows 2K?
 
S

Steven Cheng[MSFT]

Thanks for your quick reply,

For Vista should have been included and here is the Vista VB6 support
statement:

#Support Statement for Visual Basic 6.0 on Windows Vista
http://msdn2.microsoft.com/en-us/vbrun/ms788708.aspx

For windows 2000, I haven't found the definite statement. However, I don't
think it is completely installed, at least depend on the service pack
installed.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
 
M

Matt Fielder

What I'll be doing is using a self extracting exe that: (via WinZip Self
Extrator)
1: extracts files
2: runs a specific executable
3: deletes the extracted files from file system
4: closes

Therefor, if having the runtime files for VB6 available in the same folder
as the executable is sufficent, it's worth looking into. Do you know if
having the files available is sufficent or would they need to be registered
with the OS?
 
S

Steven Cheng[MSFT]

Hi Matt,

I've discussed with other engineer. For VB6, we can not simple package all
the individual dll with our VB6 exe when deploying to other machines which
may not have VB6 runtime installed. The recommended means is to use VB6
setup program's generated redistribute package to install the runtime.
That's why I don't thnk using VB 6 to create such as shim program a good a
idea since it involves another setup/deployment question(for vb6 runtime)
here.

Sincerely,

Steven Cheng

Microsoft MSDN Online Support Lead


This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top