[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

microsoft.public.dotnet.framework.setup

a little hazy about deployment in .NET!

giddy

7/1/2007 5:00:00 PM

hi ,

I've made a little app in VB6 quite sometime ago , and then i wrote
the setup in NSIS (nullsoft installer script).

Now , i've made a pretty massive app in C#. I've been reading the
pages on setup and deployment on msdn and checked out a bunch of
articles too. I know i need a setup project.

I've tried making a mock setup project with my test solution. I can
see that i can customize it , but not as much as i want to!? For
example , i have to write the customer name and serial in a specific
place in the registry. The setup project creates MSI script correct?
And MSI is some ActiveX object right?

Can i then change the MSI script Visual Studio generates to write my
customer information to the registry and send command line options to
the sql setup ?

Thanks so much

Gideon

1 Answer

Bogdan

7/4/2007 5:13:00 PM

0

Setup project makes writing to the registry quite simple - use Registry
editor (View.Editor.Registry) to add keys and values. You can even use
attributes within values or instead of key names (e.g. [Manufacturer],
etc.).

The only way (that I know of) to install SQL Express is to include it in
prerequisites (this is also called bootstrapping). I don't think that there
is a 'standard' way of providing parameters to the setup though. Note that
you can only run one instance of windows installer at a time so trying to
install sql from your setup (e.g. from CA) will fail.

In general, more complicated setup actions are usually done by custom
actions. I prefer dll because it has [limited] access to the installer
(e.g. error reporting, logging, access to some attributes, etc.). Note that
custom actions in setup projects are deferred and have no access to the msi
database. They have access to a very limited number of attributes. Still,
you can pass a CustomActionData string to your CA. It is up to you to
encode the string so all params needed by the CA are in it.

The last option is to hack the msi database. You could do that with Orca
editor. This is not an automated process but it might be useful in your
case. Maybe you can create the initial msi database using a setup project
and then fine tune it with Orca.

Note that .msi is not a script but a database that contains what and how to.
Setup project creates setup.exe (bootstrapper) and .msi file (database). I
think that you could ignore setup.exe if you do not have any prerequisites
and distribute only .msi.

Bogdan



"giddy" <gidisrael@gmail.com> wrote in message
news:1183309218.391614.143560@g37g2000prf.googlegroups.com...
> hi ,
>
> I've made a little app in VB6 quite sometime ago , and then i wrote
> the setup in NSIS (nullsoft installer script).
>
> Now , i've made a pretty massive app in C#. I've been reading the
> pages on setup and deployment on msdn and checked out a bunch of
> articles too. I know i need a setup project.
>
> I've tried making a mock setup project with my test solution. I can
> see that i can customize it , but not as much as i want to!? For
> example , i have to write the customer name and serial in a specific
> place in the registry. The setup project creates MSI script correct?
> And MSI is some ActiveX object right?
>
> Can i then change the MSI script Visual Studio generates to write my
> customer information to the registry and send command line options to
> the sql setup ?
>
> Thanks so much
>
> Gideon
>