• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

DotNetExtension not installed

Explorer ,
May 09, 2008 May 09, 2008

Copy link to clipboard

Copied

I am trying to set up a new CFMX8 server so that it may use .Net integration. The Windows 2K3 server has the .Net framework v2 installed, CFMX8 with the .Net integration installed, but when I try to access an example .cfm per:
http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=dotNet_07.html
<!--- This function pings the specified host. --->
<cffunction name="Ping" returntype="string" output="false">
<cfargument name="host" type="string" required="yes">
<!--- Local vars --->
<cfset var pingClass="">
<cfset var pingReply="">
<!--- Get Ping class --->
<cfobject type=".NET" name="pingClass"
class="System.Net.NetworkInformation.Ping">
<!--- Perform synchronous ping (using defaults) --->
<cfset pingReply=pingClass.Send(Arguments.host)>
<!--- Return result --->
<cfreturn pingReply.Get_Status().ToString()>
</cffunction>

<h3>Ping Test</h3>
<cfoutput>
127.0.0.1: #Ping("127.0.0.1")#<br>
www.adobe.com: #Ping("www.adobe.com")#<br>
</cfoutput>

I get the following error:
"DotNetExtension not installed.
If a dll is specified in the assembly list, DotNetExtension must also be installed."

Can someone shed a little light on this for me? Thank you in advance - Jacques
TOPICS
Advanced techniques

Views

4.6K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Deleted User
May 22, 2008 May 22, 2008
SOLUTION: Oddly enough, where the service was installed was at the root of the problem.

After the CF Service (CFusion JRun instance) was installed, for security reasons it is assigned to run under a service account. This service account did not have access to the directory where the CFdotNetService was installed. Hence it did not believe that it was installed. Oddly enough there were no 'file not found' or permission errors logged.

Thank you for your assistance.

Votes

Translate

Translate
LEGEND ,
May 09, 2008 May 09, 2008

Copy link to clipboard

Copied

is 'ColdFusion 8 .NET Service' started and running?

Azadi Saryev
Sabai-dee.com
http://www.sabai-dee.com/

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 12, 2008 May 12, 2008

Copy link to clipboard

Copied

Yes, the ColdFusion .Net Service is installed and running. I'm using the latest 8.01 install version. I chose to install it in a Multiserver config with all options except the LifeCycle Data Services. I've tried uninstalling and reinstalling just the ColdFusion .Net Integration service but as of yet can't seem to make the provided example work.
I'm not particularly familiar with .Net but am still charged with providing my customers with the ability to interact with .Net once the server becomes 'active'. So basically I'm just going down the list, install OS, install IIS, install .Net framework, install CF8, verify everything works as expected. Am I missing the proverbial 'big red truck'? Thanks in advance for your help - Jacques

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 10, 2008 May 10, 2008

Copy link to clipboard

Copied

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 12, 2008 May 12, 2008

Copy link to clipboard

Copied

Hi Jacques,
it isn't obvious to me either. What do the log files in {ColdFusion8_install_directory}\jnbridge\ say? Any change when you restart Coldfusion?



Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 13, 2008 May 13, 2008

Copy link to clipboard

Copied

For this installation I have to do the MultiServer install. If you install the ColdFusion multiserver configuration or the J2EE configuration, you can specify the directory in which to install the .NET Integration software, which in my case is "D:\CF8DotNetService". In this directory, the only log file is 'CF8DotNetsvc.log' and the only entry in it is from the last install:

"09/05/2008 12:45:29 INFO: InstallService: Installed the service ColdFusion 8 .NET Service"

In the cflogs\server.log I see the following:
"Information","scheduler-9","05/13/08","12:34:38",,"Starting logging..."
"Information","scheduler-9","05/13/08","12:34:38",,"Starting license..."
"Information","scheduler-9","05/13/08","12:34:39",,"Enterprise Edition enabled"
"Information","scheduler-9","05/13/08","12:34:39",,"Starting crypto..."
"Information","scheduler-9","05/13/08","12:34:40",,"Installed JSafe JCE provider: Version 3.6 RSA Security Inc. Crypto-J JCE Security Provider (implements RSA, DSA, Diffie-Hellman, AES, DES, Triple DES, DESX, RC2, RC4, RC5, PBE, MD2, MD5, RIPEMD160, SHA1, SHA224, SHA256, SHA384, SHA512, HMAC-MD5, HMAC-RIPEMD160, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384, HMAC-SHA512)"
"Information","scheduler-9","05/13/08","12:34:40",,"Starting security..."
"Information","scheduler-9","05/13/08","12:34:40",,"Starting scheduler..."
"Information","scheduler-9","05/13/08","12:34:40",,"Starting WatchService..."
"Information","scheduler-9","05/13/08","12:34:40",,"Starting debugging..."
"Information","scheduler-9","05/13/08","12:34:40",,"Starting sql..."
"Information","scheduler-9","05/13/08","12:34:43",,"Pool Manager Started"
"Information","scheduler-9","05/13/08","12:34:43",,"Starting mail..."
"Information","scheduler-9","05/13/08","12:34:43",,"Starting runtime..."
"Information","scheduler-9","05/13/08","12:34:43",,"CORBA Configuration not enabled"
"Information","scheduler-9","05/13/08","12:34:43",,"Starting cron..."
"Information","scheduler-9","05/13/08","12:34:44",,"Starting registry..."
"Information","scheduler-9","05/13/08","12:34:44",,"Starting client..."
"Information","scheduler-9","05/13/08","12:34:44",,"The metrics service is disabled for the J2EE edition"
"Information","scheduler-9","05/13/08","12:34:44",,"Starting xmlrpc..."
"Information","scheduler-9","05/13/08","12:34:45",,"Starting graphing..."
"Information","scheduler-9","05/13/08","12:34:45",,"Starting verity..."
"Information","scheduler-9","05/13/08","12:34:45",,"Starting archive..."
"Information","scheduler-9","05/13/08","12:34:45",,"Starting document..."
"Information","scheduler-9","05/13/08","12:34:46",,"Starting eventgateway..."
"Information","scheduler-9","05/13/08","12:34:47",,"Starting FlexAssembler..."
"Information","scheduler-9","05/13/08","12:34:47",,"Starting .NET..."
"Information","scheduler-9","05/13/08","12:34:47",,"Starting Monitoring..."
"Information","scheduler-9","05/13/08","12:34:49",,"ColdFusion started"

So it *seems* like it should be chatting. When I perform a netstat I see the ports are alive:
TCP dev0-henry:6085 dev0-henry.company.local:0 LISTENING
TCP dev0-henry:6086 dev0-henry.company.local:0 LISTENING

One change I've made is changing the original test code to include the 'assemby' attribute such that the call is now:
<cfobject type=".NET" name="pingClass"
class="System.Net.NetworkInformation.Ping"
assembly = "C:/Net/Assemblies/system.dll">

Although this is where I've copied the framework .dll's and the process has full rights to the directory, I get:
"Class System.Net.NetworkInformation.Ping not found in the specified assembly list."

I can't tell if I'm getting closer or further from an answer. Any/all help is very much appreciated. Thank you.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 13, 2008 May 13, 2008

Copy link to clipboard

Copied

Let's rule out some basics.

1) Any luck when you switch off the firewall and/or proxy?
2) On my single-server Coldfusion installation, the system file {CF8_installation}/lib/neo-dotnet.xml contains the following information:

port: 6085
protocol: tcp
install_dir: C:\ColdFusion8\jnbridge

Verify your own settings.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
May 15, 2008 May 15, 2008

Copy link to clipboard

Copied

#2 is most likely the answer.
I got the same errors with my multi-server installation. My neo-dotnet.xml had install_dir=C:\Work\CF\depot\ColdFusion\cf_main\cfusion\jnbridge which is clearly a path from the CF developer's and not my install_path. After updating to the jnbridge directory of my installation and restarting cf appserver my dotnet pages work.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
May 22, 2008 May 22, 2008

Copy link to clipboard

Copied

I double checked the file and it looks like I think it should:

<?xml version="1.0" encoding="UTF-8"?>
<wddxPacket version="1.0">
<header/>
<data>
<struct type="coldfusion.server.ConfigMap">
<var name="port">
<string>6085</string>
</var>
<var name="protocol">
<string>tcp</string>
</var>
<var name="install_dir">
<string>D:\ISG\software\ColdFusion8DotNetService</string>
</var>
</struct>
</data>
</wddxPacket>

The install_dir listed is in fact where the service is installed. I even gone as far as reimaging and reinstalling everything from scratch, twice. So my results are repeatable, now I just need to figure out what in the process is 'breaking' the dotNet integration. Any other thoughts?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
May 22, 2008 May 22, 2008

Copy link to clipboard

Copied

<var name="install_dir">
<string>D:\ISG\software\ColdFusion8DotNetService</string>
</var>


You suggested earlier that the service is installed in D:\CF8DotNetService.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
May 22, 2008 May 22, 2008

Copy link to clipboard

Copied

SOLUTION: Oddly enough, where the service was installed was at the root of the problem.

After the CF Service (CFusion JRun instance) was installed, for security reasons it is assigned to run under a service account. This service account did not have access to the directory where the CFdotNetService was installed. Hence it did not believe that it was installed. Oddly enough there were no 'file not found' or permission errors logged.

Thank you for your assistance.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 04, 2009 Mar 04, 2009

Copy link to clipboard

Copied

Just in case others are having this issue (about the Class not found in the specified assembly list), here was my solution.

On our live server, Coldfusion .NET integration was installed with .NET 1.0. When we upgraded to .NET 2.0 and tried to run a .NET class for the first time, we would get that error. .NET page ran fine, just the <cfobject> would throw that error. The solution was to totally uninstall the .NET integration piece (since it was using 1.0) and re-install the latest version. Not a permissions issue in this case.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jul 29, 2010 Jul 29, 2010

Copy link to clipboard

Copied

LATEST

I was originally getting the "DotNetExtension not installed" error and changed the install directory in neo-dotnet.xml to the correct location. Afterwards, I received  "java.lang.ClassNotFoundException" even though my dll was in the correct place. I had to put a try/catch around the cfobject call to see this error because the default cf error page was simply showing the assembly's class name and not anything of use.

Then I found http://blog.daksatech.com/2010/05/coldfusion-net-integration-service-on.html  and copied dotnet_coreproxy.config from the cfusion instance to all of my cf instances, restarted the instances and everything worked. This file is located in \JRun4\servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\.

I have a feeling these issues and others may have happened because

  1. CF 8 may have originally been installed as a developer edition before we entered the serial number.
  2. The cf .net integration may have been installed after we created multple cf instances. Its installer may not install everything to all of the instances on the server, or if you add more instances after the .net integration was installed, the new instances may not have the necessary configuration file(s).
  3. Additionally, the .Net framework had been upgraded a few times since the cf .net integration was originally installed. I've read on a few blogs that you need to uninstall/reinstall the cf .net integration when upgrading the .net framework.

To summarize, if running multiple instances:

  1. Uninstall/Reinstall the Coldfusion .net integration (in case the .net framework had been upgraded) and note the installation directory. I chose the standalone option.
  2. Find neo-dotnet.xml in  \JRun4\servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\ . Make sure the install_dir is the same as noted in step 1. Mine was D:\ColdFusion8DotNetService.
  3. Copy neo-dotnet.xml to all cf instances.
  4. Copy dotnet_coreproxy.config in \JRun4\servers\cfusion\cfusion.ear\cfusion.war\WEB-INF\cfusion\lib\ to all instances.
  5. Restart all cf instances.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation