I have written an FTP Logging provider for IIS/FTP 7.5, using C#.
It is registered and configured, but whenever the server tries to load the file it fails.
I see in the ETW log an access denied error when trying to load the extension. (0x80070005)
This is on a Windows 7 box for development, using Visual Studio 2010.
How do I determine what permission(s) are missing.
I know. Bad form to answer my own question.
It turns out that at least part of the issue was that the bitness was wrong. I'd compiled at 32 bit when the server was running 64 bit. The server couldn't load the extension, but it had nothing to do with permissions.
Related
I'm configuring Windows 10 machine for web development. Installed Visual Studio and want to configure websites. Installed IIS manager but for some reason it doesn't have... anything. No websites, no application pools, no features at all. And it doesn't let me to add any of that.
Has anyone faced this kind of behavior?
Found it. It turned out that something messed up IIS config files (in Windows\System32\inetsrv\Config). So all IIS features were referencing invalid DLLs in the GAC and therefore were silently failing. I only found a trace of that in the Windows Event Log.
Took clean administration.config file and IIS started correctly.
I've moved my classic asp app to win 2012 R2 (IIS 8.5). This app uses COM component. I've registered this component using regsvr32 and also exported older components from II 6 to II 8.5. I can see those components in control pane->component services.
This app is not working properly. Code include Server.CreateObject("myCOM"); looks like it works but when I try to get objArgs["prop1"]; it doesn't work.
I see this error:
"Server.CreateObject failed while checking permissions. Access is
denied to this object."
What could be potential issue?
PS: I've installed ASP/server side includes & others.
What are the permissions on the DLL set to? That is, can the user that IIS is running as access the file?
Did you register it as both 32- and 64-bit?
Can you create the object from a test VB script (running from an elevated command prompt, creating from a VBS script or a PowerShell script)?
"Access Denied" usually means exactly what it says on the tin. I'd guess that the IIS user (or that used by the app pool for your site) doesn't have correct permissions on the DLL.
I am having similar problem trying to run an ASP site using ASPMail with PGP on Windows 2012R2. The mailer runs fine, and PGP works if I run it inside PowerShell, but the mailer can no longer use its PGP option, which is running pgp.exe from inside an ASP page.
Turn on ASP from Internet Information Services -> World Wide Web Services -> Application Devlopment Features -> ASP.
Ok, first of; here's what I did:
Install AZURE tools
Reboot
Start Visual Studio - new Azure project
Add web role (asp.net MVC 4 beta web role)
Hit F5 (debug)
It starts up the storage emulator and the compute emulator and starts to load in runtimes, and then I get a popup saying that the debugger couldn't connect.
Then after some googeling I'm suggested to try to run the application without running the debugger to see if I can acces the application. When I do I get this:
So I figure that IIS does not have permissions to access some file/directory. So I go to IIS and look up the application pool running the app, and it tells me that the identity in use is NetworkService, then I go give NetworkService full permissions to the entirety of the folder IIS has set for the application (which also happens to be the path to the project dir). Still I get the same error. Now I'm more or less out of ideas, but I try one last thing, which is to also give IUSR full permissions to the same dir, but this did not help either.
How can I go about resolving this problem? I haven't tried actually launching my project to Azure yet, cause if I can't even get it to work in development I don't see much point. Any and all help would be appreciated.
I ran into the same error today after uninstalling .NET 4.5/Visual Studio 11 Dev Preview, then installing ASP.NET MVC 4 Beta (this is before Feb 29th when the updated VS 2011 Preview drops).
Since I uninstalled .net 4.5, you just need to do an "aspnet_regiis -i" to ensure the .net framework (4.0) is set up with IIS 7.x this worked for me.
Edit: This will work if you uninstall/then manually install Visual Studio 2012 RTM as well.
I had a similar error yesterday. For me the problem was that the output of the build was empty in the target folder.
I tried to answer a similar question https://stackoverflow.com/a/9411422/182371:
Check %UserProfile%\AppData\Local\dftmp\IISConfiguratorLogs\IISConfigurator.log
file for the error messages. Mode details at
https://stackoverflow.com/a/8432621/182371
Make sure that the build output of your project is not empty. You can do this by going to IIS, find the site with the name similar to
'deployment16(6).WindowsAzureProject2.WebApplication3_IN_0', right
click --> Explore.... Make sure that this folder is not empty and
contains all the files required to start a web project successfully.
As for the Access Denied error:
it could be just an IIS default setting to disable browsing. To resolve that, just navigate to that web site in IIS, find Directory Browsing icon, and press Enable. You will at least see the files inside that directory.
Also try not only 127.0.0.1:81, buta specific document inside that folder, like 127.0.0.1:81/Default.aspx
Take into account the fact that there's sometimes some mess with the ports. You see that in the error message it's port 82, but in your browser it's port 81. So make sure you're using the right port. Or, even better, in your service definition try to use some non-standard port for this to avoid remapping.
I've met the same issue. In the end, I had to reinstall IIS 7.
I got this exact same error and tried a re-install of IIS and the Azure SDK - nothing worked.
Eventually tracked it down to the "IIS URL Rewrite Module 2". I went to the Control Panel and chose Repair and it resolved it. If you have a section in your web.config then this might be the cause.
Follow step 11 from http://www.microsoft.com/en-us/download/details.aspx?id=35448. Worked for me on Windows 8 with Oct 2012 SDk when upgraded from 2011.
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.
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!