MSI and IS script based setups - network install?

V

Viviana Vc

Hi all,

I am interested in InstallShield product. I already have the IS
Professional 7.1 and might be we need the IS Premier because now we need
to localize our application.

I would like to know if an MSI based setup (created let's say with
Premier) is able to do network install? What about a InstallShield
script based setup (InstallShield Professional 7.1)?

Thx,
Viv
 
V

Viviana Vc

OK first let me please describe what my installer needs.

My application needs an LSP (Layered Service Provider) on the target
machine, which means this needs to get installed via the installer. As
the LSP is per machine the installer will install my app for the machine
and then each user from the machine can enable/disable the application
for himself by writting a special flag into the registry. In this way
even though the product is installed per machine only the users that
want it will have it 'activated'.
While being used my app creates some databases and files in the user
specific directories.
My app has one feature only which installs/uninstalls all the
components.

The steps needed to be done by my installer:

INSTALLATION:
================
- check that the setup is run by a user with full admin rights (an LSP
can be installed only by an admin so this is a requirement)
- check it's run on Win2k SP3 and up
- check that another application that we are not compatible with is not
installed on the system
- let the user choose the destination directory for the application
- add some registry keys and shortcuts
- run an exe (this one installs a LSP (Layered Service Provider) on the
target system)
- run an exe (this one will call cacls to create a directory in the
target directory where all the users have all the rights)

UNINSTALLING:
================
- as the first step show a dialog with 2 radio-buttons: disable the
product for current user only or uninstall the product from the machine
- if the user said "disable for current user only" run an exe that will
do the needed cleanup and sets correctly the registry flag so to disable
to product for this user and _abort_ the uninstaller without any error
message dialog (the uninstaller doesn't need to wait for the exe to
finish, just needs to start it)
- if we got here means the user selected: "uninstall the product from
the machine"
- check that the setup is run by a user with full admin rights (an LSP
can be uninstalled only by an admin so this is a requirement)
- show a dialog with one check-box ("want to leave feedback") and save
the user response
- run an exe which takes care of the following:
- writes an entry in registry so after the reboot the feedback webpage to be shown in case the user selected he wants to leave feedback
- by showing some dialogs asks the user what to do with those databases created during the run of the product and takes the desired actions (cleanup the databases and files, leave them untouched, etc)
- if the above exe returns a specific value (ie the user at some point
in the exe UI hits cancel to cancel this cleanup so to cancel the
uninstaller) _abort_ without any dialogs the uninstaller
- run another exe (to uninstall the LSP)
- delete some intermediate directory created by our app while running


Now, I am not familiar with what a network install is actually doing,
but what I know is: normally it's used in huge companies where the admin
has to keep hundreds of machines up-to-date and having the same software
installed. In other words the admin 'installs' the product once and then
distributes this over the network. I am not familiar with this but I
have heard about this. As far as I know this is doable with an MSI
setup. So my questions are:
- can this be done with a MSI based setup generated with IS 11 Premier?
- can this be done with an InstallScript setup generated with IS 11
PRemier?

Thank you and sorry for the long post,
Viv
 
S

Stefan Krueger [MVP]

Basically what your setup needs to do is possible both in MSI and in
InstallScript. For the "check that another application that we are not
compatible with is not installed on the system" of course you need to know
how to detect this. You can check for registry entries or files for
instance.

Your uninstall behaviour is not standard MSI so it would at least require
some additional efforts. Creating your setup with InstallScript would be
more flexible here.

There are different types of "network installs". One way is to copy
(extract) the setup files to a network share (this is often called a
"administrative install"), and each user/machine will run the setup from
there. The other way is automated deployment of an application to all (or
selected) machines on the network. This can be done using MSI and some
suitable deployment mechanism, such as ActibeDirectory or SMS or other
non-Microsoft deployment tools. Some of these tools can also deploy setups
created with InstallScript, while other require or prefer MSI. So that
really depends on your customer's infrastructure.

--
Stefan Krueger
Microsoft Windows Installer MVP

Please post your questions in the newsgroup or vist one of these web sites:

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)
 
V

Viviana Vc

Thank you for your response. Please see my inline answers ...

Basically what your setup needs to do is possible both in MSI and in
InstallScript.

Well it is already implemented in InstallScript so there I know is
doable but somehow I got stuck for now trying to do the UNinstaller
using IS Premier MSI based setup app, but I assumed is doable.
For the "check that another application that we are not
compatible with is not installed on the system" of course you need to know
how to detect this. You can check for registry entries or files for
instance.

Yes, already detected a specific registry flag that would tell me that.
Your uninstall behaviour is not standard MSI so it would at least require
some additional efforts.

Yes, as said above I noticed that :(
Creating your setup with InstallScript would be
more flexible here.

Seems so, but thanks for confirming this :)
There are different types of "network installs". One way is to copy
(extract) the setup files to a network share (this is often called a
"administrative install"), and each user/machine will run the setup from
there.

Are you saying that somewhere on a network share the .msi, .cab,
probably setup.exe and so on files are extracted and the user just runs
the setup.exe or the .msi file? Isn't it the same if the app would be
provided on a CD-ROM for each user? (just for me to understand the
difference).
The other way is automated deployment of an application to all (or
selected) machines on the network. This can be done using MSI and some
suitable deployment mechanism, such as ActibeDirectory or SMS or other
non-Microsoft deployment tools. Some of these tools can also deploy setups
created with InstallScript, while other require or prefer MSI. So that
really depends on your customer's infrastructure.

OK, I understood.

Thank you very much Stefan for your response. I was looking for those
answers for a while.
Viv
 
S

Stefan Krueger [MVP]

Are you saying that somewhere on a network share the .msi, .cab,
probably setup.exe and so on files are extracted and the user just runs
the setup.exe or the .msi file? Isn't it the same if the app would be
provided on a CD-ROM for each user? (just for me to understand the
difference).

Not exactly. The CAB would be extracted, which means that users could select
the "run from source" (which would be "run from network" in this case) for
some or all features of the package. Also you you could set certain
properties during the administrative install.


--
Stefan Krueger
Microsoft Windows Installer MVP

Please post your questions in the newsgroup or vist one of these web sites:

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)
 
V

Viviana Vc

There are different types of "network installs". One way is to copy
(extract) the setup files to a network share (this is often called a
"administrative install"), and each user/machine will run the setup from
there. The other way is automated deployment of an application to all (or
selected) machines on the network. This can be done using MSI and some
suitable deployment mechanism, such as ActibeDirectory or SMS or other
non-Microsoft deployment tools. Some of these tools can also deploy setups
created with InstallScript, while other require or prefer MSI. So that
really depends on your customer's infrastructure.

Can you please tell me some tools that would be able to deploy setups
created with InstallScript?

The point is that I already have the installer as InstallScript and as
you already said for my installer requirements InstallScript fits
better. But another requirement is that the setup to be able to be
deployed by an admin to all the computer in the network so I need to
find out how can this be done for my installer.

Thank you,
Viv
 
V

Viviana Vc

I am not familiar with SMS or any other deployment tool so I hope I
won't be asking stupid questions. The point is like this: I have an
installer written with InstallScript and the next requirement is to be
able to install my product in big company environments where the admin
has to install it on hundreds machines.

Now, as far as I understood, this can be done with a MSI installer
somehow silently. When the user from that company starts the computer
automatically the product is somehow silently installed because the
admin "did something previously".

Are you saying that such deployment tools (ie SMS) could also run my
setup.exe on those selected machines? and if yes, how can this be
silently without the user to see any user interface?

Thanks,
Viv
 
S

Stefan Krueger [MVP]

In case of InstallScript the administrator needs to create a .iss response
file (or you provide one), or you add a custom command line switch that
suppresses your UI. It's not as easy to do as with an .msi, which is one of
the reasons why administrators sometimes prefere an .msi. Bit it is possible
(as in the times before Windows Installer was invented).

--
Stefan Krueger
Microsoft Windows Installer MVP

Please post your questions in the newsgroup or vist one of these web sites:

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)
 
G

Guest

Hi Stefan

I need some help on this.. Actually i would like to deploy the packages
through Group policies in our organisation. So, i can do it successfully
through Group policies in Active Directory if it is a MSI setup only like
Ms-office..

But what is my problem is, i would like to deploy some .exe files to client
machines by using this process.. But its not supporting any .Exe except .MSI.
I tried to make .EXe to .MSI by using of third party tools like Install
Shield and WininstallLE. But still there is no luck..

So, could u pls help me to create a single .EXe file into .MSI file with
step by step procedure..

Waiting for your reply.

Thanks and Regards

Varadarajam. P.V.
 
S

Stefan Krueger [MVP]

That's correct, while deployment systems like SMS can deploy EXEs, for Group
policy you need an msi. You basically have two options:
a) wrap your exe in a msi (which would then run the exe as a custom action)
b) repackage the exe to an msi. This is not a trivial task, and the
resulting msi will most likely not run on machines that have a significantly
different configuration, such as a dufferen version of Windows etc. But
repackaging works if all the machine you are tragetting are more or less
identical.

www.installsite.org/go/msirepack.htm has information about both approaches.

--
Stefan Krueger
Microsoft Windows Installer MVP

Please post your questions in the newsgroup or vist one of these web sites:

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)
 
V

Viviana Vc

Hi Stefan,
That's correct, while deployment systems like SMS can deploy EXEs, for Group
policy you need an msi.

Seems still some disadvantages in using InstallScript :( How were all of
these working when there was no Windows Installer?

btw, I have the following question: one thing I have to do during
installing is to install a LSP (layered service provider). The LSP
installation fails if the user is not having full administrative rights.
For normal users this is not a problem as they log in as admin and
install the sw if they want it.
1) But what happens in the case of big companies where the admin wants
to install it via SMS? Would this be possible somehow?
2) Is the same problem occuring if I use an MSI?

Thanks,
Viv
 
S

Stefan Krueger [MVP]

If the MSI is "blessed" by the administrator, it can be installed with
elevated permissions by a restricted user.
Not sure how other tools are doing this. I guess they remotely log on as
administrator (and usually log off the current user and lock the keyboard
for that time)

--
Stefan Krueger
Microsoft Windows Installer MVP

Please post your questions in the newsgroup or vist one of these web sites:

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)
 
V

Viviana Vc

Can you please recommend me a good book that I could buy related to
Windows Installer, and everything a newbie should learn?

Thx,
Viv
 
V

Viviana Vc

And as my company will buy the IS Premier 11 version of InstallShield
would be nice if smbd also could recommend a book that describes Windows
Installer features using samples from this product.

Thx,
Viv
 
S

Stefan Krueger [MVP]

A list of book can be found at http://www.installsite.org/go/msibook.htm .
In English language I would recommend "The Definitive Guide to Windows
Installer" by Phil Wilson. You could also look at the free e-books.

--
Stefan Krueger
Microsoft Windows Installer MVP

Please post your questions in the newsgroup or vist one of these web sites:

Windows Installer FAQ
http://www.msifaq.com - http://www.msifaq.de

InstallSite - Resources for Setup Developers
http://www.installsite.org
http://www.installsite.de (GERMAN)
 

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