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

Error with IISRT: -1214

I'm getting the error in the title when installing. I've read this KB entry, but I still don't understand how to fix the error.

My project is using a property to set the IIS web site number, and that property isn't set until a custom dialog of mine. That's what makes me think that the KB entry in question applies here.

I tried setting the property in the Property Manager to a default of 0 so it would exist before hand, but then it always uses the Default web site and doesn't create my virtual directories on the one specified by the user.

In the KB they say it happens if the property isn't set before the caExtractIISSuppFiles custom action runs, but that action isn't listed in my sequences. The log file indicates the error happening in the IISCosting custom action.

You'll have to forgive me if it is something simple. I'm pretty new to this.
Labels (1)
0 Kudos
(4) Replies
nlindahl
Level 3

Here's an update and some more details.

First the project details:
InstallShield 2010 Professional
InstallScript MSI project

I'm deploying 5 different ASP.Net web applications and want to be able to select which existing IIS website to install them on. I'm calling a .Net class that I wrote to pull the data I need from IIS into installscript using DotNetCoCreateObject. I then display it to the user in a custom dialog where they pick from a combo box of site names. Then I use MsiSetProperty to set the values.

That's the short version.

After re-consulting the documentation on how the installation behaves depeniding on what you put in for Port number and site number, I tried leaving the site number set to 0 and only setting the port to a property that I called [IIS_Port]. Then the errors are different, but the installation still fails. Now I get lines like this in my log:

InstallShield 10:43:39: InstallShield project contains a website with name '', site number '', and port ''. Checking if it exists...

Notice that all the values in quotes are blank, including site number which has a value that is not a property substitution. Shortly after, I get this in the log:

InstallShield 10:43:39: Setting property 'id' to value '' for element 'site'. Old value: ''. m_sSectionName : 'system.applicationHost/sites'.
InstallShield 10:43:39: Property value is the same, so no need to change it.

Then further down I get this:

InstallShield 10:43:39: Error with IISRT: -2147024894. Error translation: The system cannot find the path specified.

After which the install rolls back.

If I remove the [IIS_Port] property from the port number and enter a number (like 81) everything works and it installs to the website I intended (the one with port 81)

Hopefully I've provided enough information for someone to help me.

Thanks,
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Error -1214 indicates the website number setting on a website to be installed is evaluating to an empty string value. The value can either be a hard-coded number or a property reference ([PROPERTYNAME]) to a property that is set before the ISIISCosting action. Other blank values may likely be caused by references to properties that do not have a value at the time ISIISCosting runs.

Note that a property name such as IIS_Port indicates the property is private. Therefore, if the property was set in the UI sequence, its value will not be set in the execute sequence. Custom properties that need to carry over to the execute sequence should be public (names in all capital letters).
0 Kudos
nlindahl
Level 3

Thanks Josh. I guess I didn't totally understand how the scoping of properties works. I'll change the names to all uppercase when I get some time to get back on this project later today. I'll post my results back here.
0 Kudos
nlindahl
Level 3

That solved it. I switched [IIS_Port] to [IIS_PORT] and now it is behaving as expected.

Thanks a lot Josh.
0 Kudos