I have seen
WiX and iis (cannot connect to internet information server)
This question is different.
I have Windows7, IIS is installed. I'm trying to run an MSI installer built with WIX v3.0 to install an ISAPI filter.
When I run the MSI I get
Cannot connect to Internet Information Server. (-2147221164 )
...in the msi log file, and an accompanying error message like Error 26001.
In his response to the other WIX/IIS7 question, Yan Sklyarenko
said:
the WiX IIsExtension (the one which defines WebSite element) uses the API of IIS component to actually do its job. For WiX v3.0 it even requires IIS 6 compatibility to be turned ON in IIS 7 in order to work correctly.
I suppose the reason that I saw the error message is that the IIS6 compat stuff is not installed.
Is this pre-requisite still present in Wix v3.5? In other words, using Wix3.5, must I still have the IIS6 compatibility stuff installed, to use IisExtension ?
No, WiX v3.5 supports IIS7 directly.
-2147221164 decimal converts to 0x80040154 hex. A google search for "wix 0x80040154 brings up the following thread:
Error 0x80040154: failed to get IID_IIMSAdminBase object with IIS 7
So yes, this error code is a COM registration error associated with the management objects not being present. The solution is either to gate the installer to not run if they aren't present or upgrade to an installation tool that supports native interaction.
Related
I'm using classic asp on IIS on Windows server 2012, and Server.CreateObject("Msxml2.XMLHTTP.6.0") to make soap requests against a payment processor, and "suddenly" it stopped working.
The payment processor has disabled TLS 1.0, we're supposed to do TLS 1.1 or 1.2; I think this is the cause of the problem...
How do I see and if needed change which protocol it uses?
Take a look here: https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls#systemdefaulttlsversions - specifically at sections SystemDefaultTlsVersions and SchUseStrongCrypto. You should also go ahead and disable all insecure ciphers/protocols/key exchanges in SChannel - the windows component responsible for SSL/TLS.
There is a GUI tool called IISCrypto from a company called Nartac that has some common profiles that are (somewhat) safer than editing the registry directly for disabling various obsolete components. see https://www.nartac.com/Products/IISCrypto.
Word of warning - be careful with your SChannel settings (either editing the registry or using IIS Crypto) - the settings are used throughout windows and are required for services like RDP and WinRM among other things - backup first, then test carefully.
I had similar situation - I have used Msxml2.XMLHTTP for API endpoint call in VB script and suddenly it stopped working. I got error "The system cannot locate the resource specified" and http.status returned 12029. The problem was not in the URL, it worked when I tried to call the URL from the browser. But when I started VB script, it has failed on the line http.send.
How I solved it finally?
I hade to install recommended update to my Windows Server 2012:
Microsoft .NET Framework 4.8 for Windows Server 2012 for x64 (KB4486081)
and I have installed one optional update too:
Internet Explorer 11 for Windows Server 2012 for x64
After this and server restart it started to work again. I can use both: "Msxml2.XMLHTTP.6.0" or "Msxml2.XMLHTTP", it does not matter.
Trying to migrate an existing working Silverlight application with WCF RIA services from IIS 6.0 to IIS 10.0 on Windows Server 2016 but the application fails returning 404 errors. When I install Visual Studio on the server and try running the application then it works fine within the context of IIS Express.
The server has the following components installed.
Microsoft Silverlight 5.0
Microsoft Silverlight 4 SDK
Microsoft Silverlight 5 SDK
WCF RIA Services V1.0 SP2
I’ve even tried to directly access the virtual RIA services created by the System.ServiceModel.DomainServices and it results in 404 errors as well. The below is the screen print from fiddler when directly browsing from IIS. What am I missing here? Has anyone successfully deployed Silverlight with RIA services on IIS 10.0 ?
Per the comments, attached is the actual error when accessing the URL from the browser and the web.config settings
Appreciate your help on this.
After long struggle figured out that we may need to enable HTTP Activation
for the WCF Services under Add Roles and Features Wizard as shown in the image. The 404 error thrown by WCF RIA services is really vague and may not give you the actual error even in tools like Fiddler.
Please note, I'm using Windows Server 2016, you may see a bit different wizard depending on the server version you're using.
Dennis' answer worked for me. For anyone that would like to use Powershell to perform the installation, this is the command that I used.
Enable-WindowsOptionalFeature -Online -FeatureName WCF-HTTP-Activation45 -All;
Note that my first attempt failed because there were parent features which were missing. The -All switch ensured that they were installed too.
I'm using IIS 7.5 on Windows Server 2008 R2 x64 Enterprise Edition. In the project we have developed with ASP.NET 4.0 we used WCF Service. But it doesn't run over domain when the software is running from local computer. Otherwise, I am getting the following error:
HTTP Error 404.3-Not Found
The page you are requesting cannot be served because of the extension
configuration. If the page is script, add a handler. If the file should
be downloaded, add a MIME map.
You should install IIS sub components from
Control Panel -> Programs and Features -> Turn Windows features on or off
Internet Information Services has subsection World Wide Web Services / Application Development Features
There you must check ASP.NET (.NET Extensibility, ISAPI Extensions, ISAPI Filters will be selected automatically). Double check that specific versions are checked. Under Windows Server 2012 R2, these options are split into 4 & 4.5.
Run from cmd:
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
Finally check in IIS manager, that your application uses application pool with .NET framework version v4.0.
Also, look at this answer.
In my case, along with Mekanik's suggestions, I was receiving this error in Windows Server 2012 and I had to tick "HTTP Activation" in "Add Role Services".
In windows server 2012, even after installing asp.net you might run into this issue.
Check for "Http activation" feature. This feature is present under Web services as well.
Make sure you add the above and everything should be awesome for you !!!
I was having trouble accessing wcf service hosted locally in IIS. Running aspnet_regiis.exe -i wasn't working.
However, I fortunately came across the following:
Rahul's blog
which informs that servicemodelreg also needs to be run:
Run Visual Studio 2008 Command Prompt as “Administrator”.
Navigate to C:\Windows\Microsoft.NET\Framework\v3.0\Windows Communication Foundation.
Run this command servicemodelreg –i.
I have an InstallScript project written in InstallShield 2010, which, amongst other things, shells out to several .NET MSI installers that install web apps. If any of these web apps are selected for installation by the end user, I need to check for the following optional IIS features from InstallScript code before allowing the install to proceed:
ASP.NET (IIS 6+)
WCF HTTP Activation (IIS 7+)
IIS Metabase and IIS 6 configuration compatibility (IIS 7+)
Can anyone point me in the right direction please? Ideally I'm looking for registry values that I can check directly from InstallScript code, but I guess some kind of WMI or COM check would be OK as well.
PS: In case it's relevant, we need to support all versions of IIS from 5.1 onwards at this time. If 5.1 support is a problem, we may consider dropping it if we have to.
Microsoft provides Powershell cmdlets for IIS 7,
http://technet.microsoft.com/en-us/library/cc732757.aspx
But for IIS 5.* and IIS 6, you are almost on your own (have to scan registry keys or %windir%\system32\inetsrv folder).
I have a method that loads a Crystal Reports file, sets the appropriate login information, and then generates a PDF.
ReportDocument rep = new ReportDocument();
rep.Load(...);
// Set table LogOnInfo
rep.ExportToStream(ExportFormatType.PortableDocFormat);
// Save the PDF to disk or return it as web request
This exact code works in both
A stand-alone WPF desktop application
An ASP.NET MVC website running through Cassini launched from VS
but does not work when the same website is deployed to IIS7. It gives a rather unhelpful message and stacktrace.
An error has occurred while attempting to load the Crystal Reports runtime.
Either the Crystal Reports registry
key permissions are insufficient or
the Crystal Reports runtime is not
installed correctly.
Please install the appropriate Crystal
Reports redistributable
(CRRedist*.msi) that contains the
version of the Crystal Reports runtime
(x86, x64, or Itanium) that is
required. Please go to
http://www.businessobjects.com/support
for more information.
Exception Details: CrystalDecisions.CrystalReports.Engine.LoadSaveReportException: An error has occurred while attempting to load the Crystal Reports runtime.
Note that I am using CR 2008 SP2 and the files haven't been named CRRedist... since 10.5 so someone has been forgetting to update the messages somewhere :) Here is a list of all the CR runtimes.
So why would running the same code referencing the same assemblies work in the two situations listed above but not in a deployed website?
I found this suggestion to give the IIS user write access to the temp folder, and it does appear that the Crystal runtime does some work there but I still get the same error even after giving IIS_IUSR or IIS AppPool\DefaultAppPool full access to %TEMP%.
I have also tried changing the app pool to use my account as the identity and still receive the same error message so I'm not convinced it's a permissions issue.
It turns out that for any newer versions of Crystal Reports after 10.5 (the one that is bundled with VS2008) there are no 64-bit runtimes.
The "simple" solution is to make the app pool 32-bit and then everything works ok.
There are more explanations found here (along with the expected angry responses)
You have to install CR version 13, download the msm and build an installer with VSS. Finalley execute the installer (you build) on your server.
Good luck!