Page 1 of 1

Windows security warning

Posted: Wed Jul 05, 2006 2:21 am
by Ton_B
Hi,

in additon to topic : install external MSI- or exe-setups

In my setup I use the function "Run Program" to install the Microsoft.NET framework.

I found out that if the setup is succesful it returns value 0.
If the setup failes or is cancelled it returns value 1602.

But, before the installation will start a windows security warning appears, it look something like this:
Image

If I choose "Cancel" the windows security warning will popup once again althought i only have set the run program command once in my setup.
This is not really an issue, But the next problem is!
If you press "cancel" in the second warning window, the result value of the "run program" will also be 0.

So my setup will think the setup has run properly!!

I've tried to set variable to -1 before I run the Run Program command, hoping the value would not change if you press "cancel" but that did not work.

Because my setup has to run on client computers inside a big coörparation it is not possible to disable the warning message!

any idea's how to solve this ?
It is very common that installation packages will first install other applications before it continue's.

Posted: Wed Jul 05, 2006 4:38 am
by Ton_B
I found the solution on :

http://msdn.microsoft.com/library/en-us/dnnetdep/html/dotnetfxref.asp?frame=true&_r=1

Simply add the following command line params to the run program command:

Code: Select all

dotnetfx.exe  /q:a /c:"install "


you can even capture a variety of return / error value's

Posted: Wed Jul 05, 2006 8:51 am
by MichaelNesmith
Great! Be sure to pre-process the file using the InstallAware Setup Decompressor, so InstallAware can work its compression magic on the file (expect 40% average savings, on top of the already compressed file size).

Posted: Thu Jul 06, 2006 4:31 am
by Ton_B
Hmm.

All looked just fine....

I'm almost at the end of creating my setup, and I was cleaning up my code.
I've changed the path used in the Run Program from :

Code: Select all

Run Program G:\\Setupscripts\\External\\dotnetfx.exe  /q:a /c:"install "

to

Code: Select all

Run Program $EXEDIR$\\Components\\dotnetfx.exe  /q:a /c:"install "

And the microsoft Security window appears again :cry: :cry:

Can Someone help me ?
What am I doing wrong???

Posted: Thu Jul 06, 2006 2:04 pm
by MichaelNesmith
Have you tried the Setup Decompressor? That might help.

!

Posted: Fri Jul 07, 2006 2:26 am
by Ton_B
Hi Michael,

I used the IA Decompressor, But the filesize exploded from 22 to 70 MB!
But still tested it.
Then an other warning appeard, "Unknown publisher".

So after your last reply I've tested all of the options inside Decompressor, and found out the created file with the following setting was the best.

[x] Recompress with installaware wrapper

The new filesize is 17 mb ! and no warning message appears !

Posted: Fri Jul 07, 2006 2:38 am
by MichaelNesmith
Hi Ton,

You have really found the right set of options here, for running setup from a CD :)

The reason the file size explodes is because data has to be first decompressed, before it may be recompressed. A better compression algorithm cannot recompress data that has already been compressed, no matter how poor the original algorithm is. While the Setup Decompressor doesn't "extract" files in the typical sense of an archiver, it still decompresses the data inside the setup file, so you get a 70 MB file.

You shouldn't normally choose the "recompress with wrapper" option when including the file with an InstallAware setup, as InstallAware compresses everything when you're actually doing a build, and it will lower overall compression ratios to have any kind of pre-compressed file in the package. However, in your case, since the file resides on CD, it makes sense to recompress it.

This also reveals part of Windows security internals, I guess. When the file was wrapped with an InstallAware self-extraction wrapper, it no longer complained about unsigned files, or a security confirmation for a signed file. Very, very interesting to know!