cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
RiaanGouws
Level 3

Set custom property values going missing?

Hi

I think I may be overlooking something quite obvious, please point me in the right direction.

My installation installs an ASP.NET web application. I built a custom dialog with a dropdown to select a target website to install to. The drop down gets its web sites from a VBScript that runs earlier in the process. The VBScript populates the lookup name and value as the web site name, so that when you select the website, the id is not shown.

I then have a second vbscript on the next button click. This script matches the selected name to the configured web sites on the server and sets the port, id and name to custom properties (WebSiteName, WebSiteId, WebSitePort).

I then configured the IIS Node Web site settings as follows:
Identification
Name: [WebSiteName]
Tcp Port Number: [WebSitePort]
Site Number: [WebSiteId] - I removed this as it caused the installation to break. I assume it is because properties are string and this expects an int?

Anyways, this setup should work according to me but it just does not. It just installs to the first site, in this case the default site.

I am sure the properties do get set, as I check them in the vbscript with a msgbox. They have been set based on this.

If I check the install log file after the installation, I ca see that it did not set the IIS web site settings as one would expect. The log shows that blank values and 0 values are passed through, as they were defaultd in the property manager.

What gives?:(
Labels (1)
0 Kudos
(4) Replies
Reureu
Level 10

I am not familiar with ASP.NET applications, but have you tried to use public properties instead of private properties?

Private properties, whose name contains lowercase letters, are reset when execution switches from the User Interface sequence to the Execute sequence.

Could it be the problem there?
0 Kudos
RiaanGouws
Level 3

Well, ultimately it has nothing to do with the fact that I am usnig an ASP.NET application. I am at this stage trying to get my web app installed to the selected site, which is proving to be a nightmare.

Why this is not part of the product is beyond me.

Anyways, the vbscript code look like this for IIS6:
Session.Property("WebSitePort") = strPort
Session.Property("WebSiteId") = objIisWebSite.Name
Session.Property("WebSiteName") = objIisWebSite.ServerComment

Should the poerty name be all in uppercase to be public?

Riaan
0 Kudos
Reureu
Level 10

Try to write the property names in upper case, which will make them public.

If you are deploying on Windows Vista or Windows 7, also append the name of these properties to the property named "SecureCustomProperties" in the Property Editor (as mentioned here: http://www.installsite.org/pages/en/msi/articles/VistaMSI/index.htm).

I hope that helps.
0 Kudos
RiaanGouws
Level 3

Managed to get it working. The property names must all be in uppercase. Bingo.
0 Kudos