cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
sjeslis
Level 5

Problem Uninstalling Web Service On IIS 6/7 With A Site Port Of 8080

I have a web service install which queries the user for a TCP Port to run the service on, the default is 80. The results of that text field get stored in a custom property WEBPORT. I reference [WEBPORT] in the "TCP Port Number" under the Identification tab for the Web Site in the IIS view.

The install portion works, the problem is in the uninstall. Based on the following uninstall log it looks like Installshield is trying to use port 80? Net effect is the associated web site is never removed in IIS just "stopped".

InstallShield 16:13:55: IIS Version is less than 7, so IIS 7 objects are not available.
InstallShield 16:13:55: InitIISObject
InstallShield 16:13:55: RemoveAll
InstallShield 16:13:55: RemoveVRoot for SmartSignal
InstallShield 16:13:55: InstallShield project contains a website with name 'SmartSignal', site number '0', and port '80'. Checking if it exists...
InstallShield 16:13:55: FindSiteWithPort, Port = 80
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/LM
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/W3SVC
InstallShield 16:13:55: VerifyWebSiteAndGetPort, lpwstrWebSite = /1
InstallShield 16:13:55: GetData, pszMDPath = /1
InstallShield 16:13:55: GetPortFromBindingInfo: :80:
InstallShield 16:13:55: Website exists. Additional info: Site number '1', Port '80', sBasePath '/LM/W3SVC/1/Root', DisplayName 'SmartSignal'
InstallShield 16:13:55: CompareDirValues
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/LM/W3SVC/1/Root/SmartSignal
InstallShield 16:13:55: Error: OpenKey failed for /LM/W3SVC/1/Root/SmartSignal. HRESULT = HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)
InstallShield 16:13:55: SmartSignal : VRoot is not deleted as the VRoot's associated directory is not matched with the target directory in the package
InstallShield 16:13:55: RemoveVRoot for SmartSignal\Services
InstallShield 16:13:55: InstallShield project contains a website with name 'SmartSignal', site number '1', and port '80'. Checking if it exists...
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/LM/W3SVC/1/Root
InstallShield 16:13:55: Website exists. Additional info: Site number '1', Port '80', sBasePath '/LM/W3SVC/1/Root', DisplayName 'SmartSignal'
InstallShield 16:13:55: CompareDirValues
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/LM/W3SVC/1/Root/SmartSignal\Services
InstallShield 16:13:55: Error: OpenKey failed for /LM/W3SVC/1/Root/SmartSignal\Services. HRESULT = HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)
InstallShield 16:13:55: SmartSignal\Services : VRoot is not deleted as the VRoot's associated directory is not matched with the target directory in the package
InstallShield 16:13:55: RemoveVRoot for SmartSignal\Services\3.0
InstallShield 16:13:55: InstallShield project contains a website with name 'SmartSignal', site number '1', and port '80'. Checking if it exists...
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/LM/W3SVC/1/Root
InstallShield 16:13:55: Website exists. Additional info: Site number '1', Port '80', sBasePath '/LM/W3SVC/1/Root', DisplayName 'SmartSignal'
InstallShield 16:13:55: CompareDirValues
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/LM/W3SVC/1/Root/SmartSignal\Services\3.0
InstallShield 16:13:55: Error: OpenKey failed for /LM/W3SVC/1/Root/SmartSignal\Services\3.0. HRESULT = HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)
InstallShield 16:13:55: SmartSignal\Services\3.0 : VRoot is not deleted as the VRoot's associated directory is not matched with the target directory in the package
InstallShield 16:13:55: RemoveCompWebSite for website SmartSignal
InstallShield 16:13:55: InstallShield project contains a website with name 'SmartSignal', site number '1', and port '80'. Checking if it exists...
InstallShield 16:13:55: OpenKeyLog, pszMDPath =/LM/W3SVC/1/Root
InstallShield 16:13:55: Website exists. Additional info: Site number '1', Port '80', sBasePath '/LM/W3SVC/1/Root', DisplayName 'SmartSignal'
InstallShield 16:13:55: Do not remove because this looks like the default web site.
InstallShield 16:13:55: The website will not be uninstalled at this time since there are child nodes remaining
Labels (1)
0 Kudos
(5) Replies
KrisVanherck
Level 6

Well you are trying to delete the default website, which contains among other things the IISHelp. I don't think you'll be allow to uninstall this.

If you want to install on port 80 (HTTP), you'll need to make it a application within the default website.
But it will probably be better to install on a different port.
0 Kudos
sjeslis
Level 5

You completely misunderstood my post. 😞

I'm installing on Port 8080, when I uninstall IS doesn't try to uninstall the 8080 site! It tries to uninstall the Port 80 site without me directing it to. It's almost like the uninstall does not remember my property with 8080 in it and is using the default of Port 80.
0 Kudos
KrisVanherck
Level 6

Are you sure you actually installed on 8080 because in that logging:

InstallShield 16:13:55: InstallShield project contains a website with name 'SmartSignal', site number '1', and port '80'. Checking if it exists...

That might indeed be wrong but if it is, why is he actually finding it:

InstallShield 16:13:55: Website exists. Additional info: Site number '1', Port '80', sBasePath '/LM/W3SVC/1/Root', DisplayName 'SmartSignal'

Now granted i may be misinterpreting this logging, but i just ask you: are you sure your install is correct?


But in case i'm totally wrong here: it would suggest there is something wrong with the mechanism that should repopulate the WEBPORT property, so you'll have to do it yourself. Depending on project type this would be different: a custom action for MSI or scripting during the OnFirstMaintUI after you choose to unisntaller for example. In both cases you'll probably need to change your install to store the 8080 somewhere (like registry) so you can retrieve it.
0 Kudos
sjeslis
Level 5

Yep pretty sure based on install log and seeing a second site in IIS 6:

InstallShield 10:15:45: This appears to be a new apppool.
Action 10:15:45: Progress Custom Action. Creating IIS websites...
Action 10:15:45: Progress Custom Action. Creating IIS website SmartSignal
InstallShield 10:15:45: InstallShield project contains a website with name 'SmartSignal', site number '0', and port '8080'. Checking if it exists...
InstallShield 10:15:45: FindSiteWithPort, Port = 8080
InstallShield 10:15:45: OpenKeyLog, pszMDPath =/LM
InstallShield 10:15:45: OpenKeyLog, pszMDPath =/W3SVC
InstallShield 10:15:45: VerifyWebSiteAndGetPort, lpwstrWebSite = /1
InstallShield 10:15:45: GetData, pszMDPath = /1
InstallShield 10:15:45: GetPortFromBindingInfo: :80:
InstallShield 10:15:45: EnumKeys failed with the error '-2147024637'. Parameters: path = /W3SVC, name = , index = 4
InstallShield 10:15:45: Getting next site number available.
InstallShield 10:15:45: OpenKeyLog, pszMDPath =/LM/W3SVC/
InstallShield 10:15:45: EnumKeys failed with the error '-2147024637'. Parameters: path = /, name = , index = 4
InstallShield 10:15:45: Website does not exist. Additional info: Site number '2', Port '8080', sBasePath '/LM/W3SVC/2/Root', DisplayName 'SmartSignal'
InstallShield 10:15:45: Creating component based website; no existing website was found for SmartSignal, port 8080, slot 2
InstallShield 10:15:45: AddWebSiteFunction
InstallShield 10:15:45: OpenKeyLog, pszMDPath =/LM/W3SVC/
InstallShield 10:15:45: AddKey, pszMDPath = /2/ROOT
InstallShield 10:15:45: InstallShield project contains a website with name 'SmartSignal', site number '2', and port '8080'. Checking if it exists...
InstallShield 10:15:45: OpenKeyLog, pszMDPath =/LM/W3SVC/2/Root
InstallShield 10:15:45: Website exists. Additional info: Site number '2', Port '8080', sBasePath '/LM/W3SVC/2/Root', DisplayName 'SmartSignal'
InstallShield 10:15:45: AppCreate, sFullPath = /LM/W3SVC/2/Root
InstallShield 10:15:45: CreateWamAdmin
InstallShield 10:15:45: Setting new website properties...
InstallShield 10:15:45: IIS6 check for ASP.NET version bitness, install is requesting 'x86'
InstallShield 10:15:45: OpenKeyLog, pszMDPath =/LM/W3SVC/APPPOOLS
InstallShield 10:15:45: GetData, pszMDPath = /
InstallShield 10:15:45: Value returned for Enable32bitAppOnWin64: 1
InstallShield 10:15:45: ASP.NET version can be set for 32-bit.
InstallShield 10:15:45: Configuring ASP .NET version: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -ir
InstallShield 10:16:09: aspnet_regiis.exe exit code: 0
InstallShield 10:16:09: Configuring ASP .NET version: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -k W3SVC/2/Root
InstallShield 10:16:09: aspnet_regiis.exe exit code: 0
InstallShield 10:16:09: Configuring ASP .NET version: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -s W3SVC/2/Root
InstallShield 10:16:12: aspnet_regiis.exe exit code: 0
InstallShield 10:16:12: OpenKeyToWebsite
InstallShield 10:16:12: OpenKeyLog, pszMDPath =/LM/W3SVC/2
InstallShield 10:16:12: getvaluelog
InstallShield 10:16:12: SetVRtStrProperty for property '1002' with value 'IIsWebServer' and strSubPath '/'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: getvaluelog
InstallShield 10:16:12: SetVRtStrProperty for property '1015' with value 'SmartSignal' and strSubPath '/'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtMultiszProperty for property '1023' and value ':8080:' with length '16'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: getvaluelog
InstallShield 10:16:12: SetVRtStrProperty for property '3001' with value 'C:\Program Files (x86)\SmartSignal\Services\WebSiteRoot\' and strSubPath '/ROOT'.
InstallShield 10:16:12: SetData, pszMDPath = /ROOT
InstallShield 10:16:12: getvaluelog
InstallShield 10:16:12: SetVRtStrProperty for property '1002' with value 'IIsWebVirtualDir' and strSubPath '/ROOT'.
InstallShield 10:16:12: SetData, pszMDPath = /ROOT
InstallShield 10:16:12: SetVRtDWProperty for property '1012' with value '1'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: No SSL certificate found.
InstallShield 10:16:12: getvaluelog
InstallShield 10:16:12: SetVRtStrProperty for property '2102' with value 'Default Application1' and strSubPath '/ROOT'.
InstallShield 10:16:12: SetData, pszMDPath = /ROOT
InstallShield 10:16:12: SetCommonProperties for the following: SmartSignal
InstallShield 10:16:12: SetVRtDWProperty for property '6016' with value '513'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDWProperty for property '6005' with value '1073741824'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDWProperty for property '7007' with value '20'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDWProperty for property '7006' with value '90'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDWProperty for property '6000' with value '1'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDWProperty for property '6039' with value '1'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDWProperty for property '6023' with value '0'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDWProperty for property '2104' with value '2'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: getvaluelog
InstallShield 10:16:12: SetVRtStrProperty for property '6006' with value 'Default.asp' and strSubPath '/'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetVRtDelimMultiszProperty for property '6008' with value ''.
InstallShield 10:16:12: SetVRtMultiszProperty for property '6008' and value '' with length '4'.
InstallShield 10:16:12: SetData, pszMDPath = /
InstallShield 10:16:12: SetDynamicMetaDataProperties
InstallShield 10:16:12: getvaluelog
InstallShield 10:16:12: SetVRtStrProperty for property '9101' with value 'SmartSignalServices' and strSubPath '/'.
InstallShield 10:16:12: SetData, pszMDPath = /
Action 10:16:12: Progress Custom Action. Creating IIS virtual directories...
Action 10:16:12: Progress Custom Action. Creating IIS virtual directory SmartSignal
InstallShield 10:16:12: InstallShield project contains a website with name 'SmartSignal', site number '2', and port '8080'. Checking if it exists...
InstallShield 10:16:12: OpenKeyLog, pszMDPath =/LM/W3SVC/2/Root
InstallShield 10:16:12: Website exists. Additional info: Site number '2', Port '8080', sBasePath '/LM/W3SVC/2/Root', DisplayName 'SmartSignal'
InstallShield 10:16:12: Creating item 'SmartSignal' with virtual directory 'SmartSignal', website '2', and physical path: 'C:\Program Files (x86)\SmartSignal\Services\WebSiteRoot\SmartSignal\'
InstallShield 10:16:12: AddVRootToWebsite
InstallShield 10:16:12: OpenKeyLog, pszMDPath =/LM/W3SVC/2/Root
InstallShield 10:16:12: AddKey, pszMDPath = SmartSignal
InstallShield 10:16:12: CloseKey failed with the following error: -2147024890
InstallShield 10:16:12: PutActionTaken for Vroot 'SmartSignal': 3
InstallShield 10:16:12: Setting properties...
InstallShield 10:16:12: SetVRootProperties for virtual directory 'SmartSignal', app 'SmartSignal'
InstallShield 10:16:12: OpenKeyToWebsite
InstallShield 10:16:12: OpenKeyLog, pszMDPath =/LM/W3SVC/2/ROOT/SmartSignal
InstallShield 10:16:12: getvaluelog
0 Kudos
KathyMorey
Level 10

Properties input by users during an install are not persisted to the MSI database, so the uninstall is using the original default database value. You will have to either save the port input somewhere you can use system search to retrieve it, or you will have to retrieve the port number of your site before the uninstall tries to remove it.
0 Kudos