what works on Serrver 2003 does not work on 2012.
I register a DLL with regsvr32, and get a positive result. The IUSR has the right to read and execute the dll-file. The IIS allows the page to run scripts.
But in classic ASP, when I try server.createobject, I get "ActiveX cannot create object".
I know there is a similar question, but i know the registration was positive.
Brgds
Peter
Related
I am a system admin tasked with migrating Classic ASP based web application from Windows Server 2003 (IIS 6) to Windows Server 2008 r2 (IIS 7.5)
The application is very old written in around 2002-03 and the concerned developer people are not around anymore to let me know anything related to this Web Application.
After lot of trial and error, I have been able to get the Web Application running on 2008 r2.
While navigating through application, I am getting various errors which on further investigation I understood are related to DLLs which the Web Application is invoking.
My issue is, I don't know what all DLLs are used/invoked on the source server, which I need to copy & register on the new server.
I tried to use DependancyWalker but I am not able to find a way to use this tool for Web Application.
I would really appreciate this community's help in this regard.
I found out a simple way of finding the DLLs which are specific to my Web Application.
I got a small freeware utility called as RegDLLView from Nirsoft.net which lists all the DLLs which are registered with the Server with File Paths, Description, Company name, etc details.
I found out all the DLLs which my Web Application is invoking by checking the company name and paths of all the DLLs which were listed.
Now I just have to copy these DLLs to my new server and register these on the new system.
It's not rocket science.
When you find a COM component dependancy you can use the ProgId to identify and locate the DLL which is registered in the Windows Registry.
The only DLL dependancies come from COM component DLLs and these can only be invoke in Classic ASP / VBScipt with the
Server.CreateObject("ProgId")
and
CreateObject("ProgId")
respectively.
Wrote about this extensively here
Error ASP 0177: 8007007e Server.CreateObject fails for COM DLL
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.
Sorry, my English is bad, but i will try to explain what i mean.
I made EventReceiver on Developer PC on VisualStudio 2012 and it's work on my developer's SharePoint2013 Server.
I made WSP packgage, deployed it to Client's SharePoint 2013 Server, activated feature and get an Error.
Could not load type 'Microsoft.SharePoint.Administration.SPDiagnosticsService' from assembly 'Microsoft.SharePoint, Version=15.900.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'.
How i understood it's SharePoint.Dll version is another, but i can't find this version and don't know where it's on clients server.
I have the same Error. I copied dll files and had the same Error. Installed Visual Studio on clinet Server and it didn't help. I think it's server configuration bad.
To load SPDiagnosticsService, you need to ensure that your solution is deployed to the Farm.
To do check the settings, view the project properties, make sure Sandboxed Solution is set to False
I am trying something really simple in F# to try and test interaction with the SharePoint 2010 API. I think I am running into a general problem with F#. Is there anyway that an F# script can access the SharePoint 2010 API?
I think my problem is due to the F# scripts running 32bit, and the SharePoint API is in 64bit.
An example of the code I'm trying to run is as follows:
#r "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI\Microsoft.sharepoint.dll"
#r "System.ServiceModel.dll"
open System
open Microsoft.SharePoint
let GetListByUrl (listUrl:string) =
use site = new SPSite(listUrl)
use web = site.OpenWeb()
let list =
if not (web = null) then web.GetList(listUrl)
list
In the visual studio editor it says the following error: The Type System.ServiceModel.ChannelFactory`1 is required here and is unavailable. You must add a reference to assembly ...
When the script is ran it gives the message: System.IO.FileNotFoundException: The Web application at... could not be found. Verify that you have typed the URL correctly...
Which is the error message I get if I try to access the SharePoint 2010 API from a 32bit c# console program. If I change the c# console program to Any CPU that message doesn't appear.
However I'm trying to do this in an F# script which I guess is 32bit, so how would I work around that?
Also since this is probably a general problem with F# scripts and 64bit dlls, how would you work around the problem of needing to reference 64bit dlls in F# scripts?
Edit
I used corflags.exe in the visual studio cmd prompt to modify the fsi.exe to 64bit. I followed this guide: http://ig2600.blogspot.com/2010/05/making-fsharp-interpreter-fsi-run-in.html. That seemed to work, though the F# interactive window seemed slower. However when I ran the code above in the now 64bit fsi it said sharepoint does not work with .net 4.0. How would you run the F# interactive window in .net 3.5?
Edit
Because of the answer posted by F.Aquino in which he said I needed to add a reference to System.ServiceModel I have updated the code to add that.
That fixes the visual studio editor complaints that keep appearing with red squiggly lines everywhere. When the script is ran the results are the same, the script cannot access the sharepoint 2010 API which is the problem I am having.
You need to add a reference to System.ServiceModel
We're in the process of moving from 2003 IIS6 Web servers to 2008 R2 with IIS 7.5.
We also have a Windows 2008 server running IIS7 and everything works fine on this server.
On the new servers when we go to our crystal reports viewer page we get prompted for windows authentication, then if you type in valid credentials or not you get the following error in firefox:
XML Parsing Error: no element found
Location: http://192.168.10.112/Reports/ReportViewer.aspx?id=49
Line Number 1, Column 1:
^
In IE you just get a blank screen.
The same code runs fine in debug mode on the server in Visual Studio 2010, and works fine on our other servers
Thanks
I know that the answer is too late, but to be a reference for other users.
I faced this problem too in IIS 7.5, and after 5 days investigation, I found that the problem is because the Crystal Reports Viewer running as 32-bit, to solve this issue:
in IIS, go to Application Pools
Select pool that you are using it for your application, normally its "ASP.Net v4.0".
Click on "Advanced Setting..." in the right panel.
set the value "Enable 32-bit Application" to "True"
Also, note that you have to install the oracle client 32-bit version too.