Custom Actions not working

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,

I added dotnetfx.exe to a setup project as a custom action to be installed
before the main app is installed.

I set the Arguments property to /q:a /c:"install /l /q" for a silent
install but it complains that its already installed, then I set the
Condition to check as Installed == false and that doesnt work.

How can one do this on a setup project?

Thanks.
 
"as Installed == false " is definitely the wrong syntax for a custom action
condition. Not Installed would be the right syntax, but I don't think it's the
right choice - it means run this custom action if my product is not installed,
but it should be running the custom action if the runtime isn't installed.

I don't think you can install the runtime out of a custom action. .NET installs
require Windows Installer (MSI) 2.0, and MSI 2.0 is installed by the dotnet
redist, so if MSI 1.1 is on the system your setup won't start. The redist is an
MSI-based setup, and two MSI setups can't run at the same time, so that's
another reason why you can't embed the redist in your MSI setup. Setups that
appear to this kind of thing usually have a wrapper program that launches the
required setups after checking what's on the system.
 
Ok, I have 4 packages I must install before my application is installed but
I want them as one MSI file.

Some use InstallShield 1.5 I think.

So, I have to resort to shipping a .bat file to preinstall these? What a
bummer.


Phil Wilson said:
"as Installed == false " is definitely the wrong syntax for a custom action
condition. Not Installed would be the right syntax, but I don't think it's the
right choice - it means run this custom action if my product is not installed,
but it should be running the custom action if the runtime isn't installed.

I don't think you can install the runtime out of a custom action. .NET installs
require Windows Installer (MSI) 2.0, and MSI 2.0 is installed by the dotnet
redist, so if MSI 1.1 is on the system your setup won't start. The redist is an
MSI-based setup, and two MSI setups can't run at the same time, so that's
another reason why you can't embed the redist in your MSI setup. Setups that
appear to this kind of thing usually have a wrapper program that launches the
required setups after checking what's on the system.
--
Phil Wilson [MVP Windows Installer]
----
Hi,

I added dotnetfx.exe to a setup project as a custom action to be installed
before the main app is installed.

I set the Arguments property to /q:a /c:"install /l /q" for a silent
install but it complains that its already installed, then I set the
Condition to check as Installed == false and that doesnt work.

How can one do this on a setup project?

Thanks.
 
See if this helps. The site appears to be down right now, and you may have
to register, but there's some good stuff there.

http://www.codeproject.com/managedcpp/dotnetsetup.asp

--
Phil Wilson
[MVP Windows Installer]
Ok, I have 4 packages I must install before my application is installed but
I want them as one MSI file.

Some use InstallShield 1.5 I think.

So, I have to resort to shipping a .bat file to preinstall these? What a
bummer.


Phil Wilson said:
"as Installed == false " is definitely the wrong syntax for a custom action
condition. Not Installed would be the right syntax, but I don't think
it's
the
right choice - it means run this custom action if my product is not installed,
but it should be running the custom action if the runtime isn't installed.

I don't think you can install the runtime out of a custom action. .NET installs
require Windows Installer (MSI) 2.0, and MSI 2.0 is installed by the dotnet
redist, so if MSI 1.1 is on the system your setup won't start. The
redist
is an
MSI-based setup, and two MSI setups can't run at the same time, so that's
another reason why you can't embed the redist in your MSI setup. Setups that
appear to this kind of thing usually have a wrapper program that
launches
the
required setups after checking what's on the system.
--
Phil Wilson [MVP Windows Installer]
----
Hi,

I added dotnetfx.exe to a setup project as a custom action to be installed
before the main app is installed.

I set the Arguments property to /q:a /c:"install /l /q" for a silent
install but it complains that its already installed, then I set the
Condition to check as Installed == false and that doesnt work.

How can one do this on a setup project?

Thanks.
 
Unfortunately its not a publically accessable file.

Do I just code up a customActions assembly that inherits from the Install
class and override .Install and then launch the installers there? That would
still have the same problem as its within the new setup environment. Why MS
make this difficult is beyond me. Looks like im doing a s.hity .bat file.
I guess they want to encourage us to make shit products for Windows. Oh
well.



Phil Wilson said:
See if this helps. The site appears to be down right now, and you may have
to register, but there's some good stuff there.

http://www.codeproject.com/managedcpp/dotnetsetup.asp

--
Phil Wilson
[MVP Windows Installer]
Ok, I have 4 packages I must install before my application is installed but
I want them as one MSI file.

Some use InstallShield 1.5 I think.

So, I have to resort to shipping a .bat file to preinstall these? What a
bummer.


Phil Wilson said:
"as Installed == false " is definitely the wrong syntax for a custom action
condition. Not Installed would be the right syntax, but I don't think
it's
the
right choice - it means run this custom action if my product is not installed,
but it should be running the custom action if the runtime isn't installed.

I don't think you can install the runtime out of a custom action. .NET installs
require Windows Installer (MSI) 2.0, and MSI 2.0 is installed by the dotnet
redist, so if MSI 1.1 is on the system your setup won't start. The
redist
is an
MSI-based setup, and two MSI setups can't run at the same time, so that's
another reason why you can't embed the redist in your MSI setup.
Setups
that
appear to this kind of thing usually have a wrapper program that
launches
the
required setups after checking what's on the system.
--
Phil Wilson [MVP Windows Installer]
----
Hi,

I added dotnetfx.exe to a setup project as a custom action to be installed
before the main app is installed.

I set the Arguments property to /q:a /c:"install /l /q" for a silent
install but it complains that its already installed, then I set the
Condition to check as Installed == false and that doesnt work.

How can one do this on a setup project?

Thanks.
 
Simple solution I used a setup.bat file and called the proper command line
instead of bulding my own Setup.exe project (waste of freakin time for what
its giving when a simple .bat file can do) and then launch the setup.msi
file.

Microsoft you suck s.shit for installer support. I am now shopping elsewhere
for a working product.


Unfortunately its not a publically accessable file.

Do I just code up a customActions assembly that inherits from the Install
class and override .Install and then launch the installers there? That would
still have the same problem as its within the new setup environment. Why MS
make this difficult is beyond me. Looks like im doing a s.hity .bat file.
I guess they want to encourage us to make shit products for Windows. Oh
well.



Phil Wilson said:
See if this helps. The site appears to be down right now, and you may have
to register, but there's some good stuff there.

http://www.codeproject.com/managedcpp/dotnetsetup.asp

--
Phil Wilson
[MVP Windows Installer]
Ok, I have 4 packages I must install before my application is
installed
but
I want them as one MSI file.

Some use InstallShield 1.5 I think.

So, I have to resort to shipping a .bat file to preinstall these? What a
bummer.


"as Installed == false " is definitely the wrong syntax for a custom
action
condition. Not Installed would be the right syntax, but I don't
think
it's
the
right choice - it means run this custom action if my product is not
installed,
but it should be running the custom action if the runtime isn't installed.

I don't think you can install the runtime out of a custom action. ..NET
installs
require Windows Installer (MSI) 2.0, and MSI 2.0 is installed by the
dotnet
redist, so if MSI 1.1 is on the system your setup won't start. The redist
is an
MSI-based setup, and two MSI setups can't run at the same time, so that's
another reason why you can't embed the redist in your MSI setup. Setups
that
appear to this kind of thing usually have a wrapper program that launches
the
required setups after checking what's on the system.
--
Phil Wilson [MVP Windows Installer]
----
Hi,

I added dotnetfx.exe to a setup project as a custom action to be
installed
before the main app is installed.

I set the Arguments property to /q:a /c:"install /l /q" for a silent
install but it complains that its already installed, then I set the
Condition to check as Installed == false and that doesnt work.

How can one do this on a setup project?

Thanks.
 
Back
Top