Search Results

Search found 22569 results on 903 pages for 'win32 process'.

Page 504/903 | < Previous Page | 500 501 502 503 504 505 506 507 508 509 510 511  | Next Page >

  • Monitoring mongrel with monit

    - by matnagel
    I wrote a monit.d file for mongrels which works in this version: check process redmine with pidfile /home/redmine/service/redmine.pid group webservice start program = "/usr/bin/mongrel_rails start -p 41328 -e production -d --pid /home/redmine/service/redmine.pid --user redmine --group redmine -a 127.0.0.1 -c /home/redmine/app" stop program = "/usr/bin/mongrel_rails stop --pid /home/redmine/service/redmine.pid -c /home/redmine/app && rm /home/redmine/service/redmine.pid > /dev/null 2>&1 if cpu greater 50% for 2 cycles then alert if cpu greater 80% for 3 cycles then restart if totalmem greater 60.0 MB for 5 cycles then restart if loadavg (5min) greater 4 for 8 cycles then restart if 3 restarts within 5 cycles then timeout $ Checking monit control file syntax... $ Control file syntax OK I want to also monitor the http response, so I add this line at the end: if failed port 41328 protocol http with timeout 10 seconds then restart Now monit complains: $ Checking monit control file syntax... $ /etc/monit.d/redmine:16: Error: exceeded maximum number of program arguments 'http' $ ERROR: CHECK MONIT CONFIG FILE SYNTAX How do I correctly monitor the port?

    Read the article

  • How can I make fsck run non-interactively at boot time?

    - by Nelson
    I have a headless Ubuntu 12.04 server in a datacenter 1500 miles away. Twice now on reboot the system decided it had to fsck. Unfortunately Ubuntu ran fsck in interactive mode, so I had to ask someone at my datacenter to go over, plug in a console, and press the Y key. How do I set it up so that fsck runs in non-interactive mode at boot time with the -y or -p (aka -a) flag? If I understand Ubuntu's boot process correctly, init invokes mountall which in turn invokes fsck. However I don't see any way to configure how fsck is invoked. Is this possible? (To head off one suggestion; I'm aware I can use tune2fs -i 0 -c 0 to prevent periodic fscks. That may help a little but I need the system to try to come back up even if it had a real reason to fsck, say after a power failure.) In response to followup questions, here's the pertinent details of my /etc/fstab. I don't believe I've edited this at all from what Ubuntu put there. UUID=3515461e-d425-4525-a07d-da986d2d7e04 / ext4 errors=remount-ro 0 1 UUID=90908358-b147-42e2-8235-38c8119f15a6 /boot ext4 defaults 0 2 UUID=01f67147-9117-4229-9b98-e97fa526bfc0 none swap sw 0 0

    Read the article

  • TFS and Sharepoint integration

    - by pho3nix
    I using a Sharepoint 2007 and TFS 2010. I installed all with reports sharepoint integration but when i try create a TeamProject Collections always return this warning: Server was unable to process request. --- TF250029: No user was found within the context of a Web site. Verify that the site does not allow anonymous access. And in sharepoint web applications tfs console window when check my sharepoint portal /sites return a error saying is blocked by firewall or server extensions is not installed, but i have all ok. Anyone can helpme, please.

    Read the article

  • Classic ASP on large memory server

    - by Steve Evans
    I have a client with a large ASP app that apparently is fairly memory intensive. I’m helping them migrate to new hardware they have running Win2k8 R2. They have 4 physical servers with 32gb of RAM each. I’m making the assumption that ASP apps run as a x32 process. So I see that we have two options: On the application pool enable web gardens. Use the physical servers as VM hosts and split the box into say 4 web servers each. Any thoughts on which path will provide us better performance? I’m just not really sure how ASP will handle a machine with lots of memory, and I’m worried it won’t really be able to address the memory well. (you can ignore all the obvious stuff like increased maintenance of 16 web servers vs 4, or the flexibility virtualization gets us over physical servers, etc)

    Read the article

  • BitchX - Segmentation fault

    - by alexus
    Last login: Tue Mar 16 15:29:57 on ttys002 mbp:~ alexus$ sudo port install bitchx Password: --- Computing dependencies for bitchx --- Fetching ncursesw --- Attempting to fetch ncurses-5.7.tar.gz from http://distfiles.macports.org/ncurses --- Verifying checksum(s) for ncursesw --- Extracting ncursesw --- Configuring ncursesw --- Building ncursesw --- Staging ncursesw into destroot --- Installing ncursesw @5.7_0+darwin_10 --- Activating ncursesw @5.7_0+darwin_10 --- Cleaning ncursesw --- Fetching ncurses --- Verifying checksum(s) for ncurses --- Extracting ncurses --- Configuring ncurses --- Building ncurses --- Staging ncurses into destroot --- Installing ncurses @5.7_0+darwin_10 --- Activating ncurses @5.7_0+darwin_10 --- Cleaning ncurses --- Fetching bitchx --- Attempting to fetch ircii-pana-1.1-final.tar.gz from http://voxel.dl.sourceforge.net/bitchx --- Verifying checksum(s) for bitchx --- Extracting bitchx --- Applying patches to bitchx --- Configuring bitchx --- Building bitchx --- Staging bitchx into destroot --- Installing bitchx @1.1_1+darwin --- Activating bitchx @1.1_1+darwin --- Cleaning bitchx mbp:~ alexus$ BitchX BitchX - Based on EPIC Software Labs epic ircII (1998). Version (BitchX-1.1-final) -- Date (20040326). Process [30864] Segmentation fault mbp:~ alexus$ any ideas why is it doing "Segmentation fault" and how to troubleshoot it?

    Read the article

  • CPU Cooling with Heatsinks

    - by Jason Tzen
    I've constructed a server that uses 2 Xeon E5-2620 CPUs and per Intel's recommendation I'm in the process of ordering heatsinks for each and I'm slightly concerned about thermal management. The case I'm using is well ventilated (the Coolermaster Cosmos II) but I have a few concerns regarding the adequacy of the heatsinks recommended by the MB manufacturer (Supermicro CPU HeatSink SNK-P0048PS). As you can see these heatsinks come without a fan and I'm wondering if they can keep the Xeons within their normal temperature range... Due to the low volume of literature on the topic I wasn't able to find anything conclusive.

    Read the article

  • links for 2010-06-02

    - by Bob Rhubart
    @eelzinga: Oracle Service Bus 11g communication with Oracle SOA Suite 11g, DirectBindings, part1 Oracle ACE Erikc Elzinga launches a series of post in which he will describe how to develop various  Oracle Service Bus 11g to Oracle SOA Suite  process flows. (tags: oracle otn oracleace soa servicebus) @Atul_Kumar: Integrate UCM (ECM/Content Server) with Microsoft Active Directory as LDAP Provider Atul Kumar's step-by-step instructions. (tags: oracle otn enterprise2.0 ucm ecm ldap) Stefan Hinker: Is my application a good fit for CMT? "The first and most important criterion for suitability is always the service time of your application," says Stefan Hinker.  "If this is sufficient, then the application is OK on CMT. If it is not, and the reason is actually the CPU and not some other high-latency component (like a remote database), you will need to test on other CPU architectures." (tags: oracle sun cpu cmt sparc solaris) @deltalounge: Definitions of Services and Processes Peter Paul shares a collection of useful definitions gathered from the works of many of the big thinkers in the SOA space.  (tags: oracle otn soa businessprocess) OTN TechCast: Oracle Solaris Virtualization - Oracle Solaris Video Joost Pronk, CTO for Oracle Solaris Product Management, provides an overview of the robust virtualization functionality built into the Oracle Solaris OS. (tags: oracle otn solaris virtualization)

    Read the article

  • httperrors for Linux

    - by Aaron McRuer
    I'm here because the Google has failed to get me what I need. I just recently graduated from university, and I'm working on a website. Back in college I used the school's web server for my projects, and there were a few tools that aided in the process. One was a Linux program/script/executable/prayer to the computing gods called "httperrors". You typed that into bash, and it would pop up any errors that would occur while running the web server. Specifically, if you had errors in your php code, it would tell you what was wrong. I guess it was a debugger of sorts. I can't find any such program's details online. Does this sound familiar to anyone?

    Read the article

  • How to keep Flash secured with EMET?

    - by Indrek
    I use EMET to secure a number of applications on my computer - web browsers, Office suite applications, PDF readers, as well as Adobe Flash. Overall it's working great, except that the Flash executables contain the version number in the file name, so every time there's an update, the file names change and I have to remember to re-add them manually to EMET. Is there a way to streamline this process? EMET does support wildcards, but only in the path itself, not the file name, so something like %windir%\system32\Macromed\Flash\*.exe wouldn't work. Is there any other way to add a whole folder to EMET so that any new executables in that folder are automatically secured?

    Read the article

  • Apache, Django with mod_wsgi, and large request buffering

    - by Mukul
    In my setup of Apache 2.2 MPM worker and Django 1.3 with mod_wsgi 2.8, I need to support large POST request payloads. The problem is that when there are many such simultaneous requests, Apache uses up all the memory in the system and then crashes. It seems that Apache is buffering the requests completely in memory before executing the WSGI handler and passing it the request. Is there any way to control request buffering in Apache? The log shows the following error whenever the crash happens: [Wed Jun 29 18:35:27 2011] [error] cgid daemon process died, restarting Here's my virtual host's configuration: <VirtualHost *:8080> ServerName example.com ErrorLog /var/log/apache2/error.log WSGIScriptAlias / <path to django.wsgi> WSGIPassAuthorization on WSGIDaemonProcess example.com WSGIProcessGroup example.com XSendFileAllowAbove on XSendFile on </VirtualHost>

    Read the article

  • Partner Webcast – Introducing Oracle Business Activity Monitoring - 18 October 2012

    - by Thanos
    Oracle Business Activity Monitoring (Oracle BAM), a component of both SOA Suite and BPM Suite, is a complete solution for building interactive, real-time dashboards and proactive alerts for monitoring business processes and services. Oracle BAM gives both business executives and operational manager’s timely information to make better business decisions.  A Real-time Business Visibility Solution that allows to monitor business services and processes in the enterprise, to correlate KPIs down to the actual business process themselves, and most important, to change business processes quickly or to take corrective action if the business environment changes. Let us show you how BAM provides a powerful insight, through Real-Time Dashboards, that can be a competitive edge for all your customers. Agenda: Oracle BAM Overview Business Problems New Approach with Oracle BAM 11g Demonstration Summary & Q&A Delivery Format This FREE online LIVE eSeminar will be delivered over the Web. Registrations received less than 24hours prior to start time may not receive confirmation to attend. Duration: 1 hour Register Now Send your questions and migration/upgrade requests [email protected] Visit regularly our ISV Migration Center blog or Follow us @oracleimc to learn more on Oracle Technologies, upcoming partner webcasts and events. All content is made available through our YouTube - SlideShare - Oracle Mix.

    Read the article

  • Folder/File permission transfer between alike file structure

    - by Tyler Benson
    So my company has recently upgraded to a new SAN but the person who copied all the data over must have done a drag n' drop or basic copy to move everything. Apparently Xcopy is not something he cared to use. So now I am left with the task of duplicating all the permissions over. The structure has changed a bit ( as in more files/folders have been added) but for the most part has been stayed unchanged. I'm looking for suggestions to help automate this process. Can I use XCopy to transfer ONLY permissions to one tree from another? Would i just ignore any folders/permissions that don't line up correctly? Thanks a ton in advance, Tyler

    Read the article

  • What's the best approach to Facebook integration?

    - by Jay Stevens
    I have a new site/app going live next week (or somewhere close). I know there will be a relatively small (15,000?) very dedicated group of people on Facebook who will be very likely to be interested in the site, so I know I need Facebook integration of some kind. I won't be doing Facebook logins or pulling/posting to profiles yet, but I plan to... The question: Do I just do a Facebook "Page" for now? This is faster/easier to set up and seems a little less buggy.. and then migrate to a Facebook App later? or Do I create a "Facebook App" (with the api key/id/secret, etc.) now even if I'm doing nothing but using the "like" button. This means I don't have any migration later and I can use the javascript api to log "like" button clicks to Google Analytics, etc. Thoughts? Experiences? Is there a migration process to move your old Page users to your new "App"? What's the advantages / disadvantages of each.

    Read the article

  • Survey of project-administration experience [on hold]

    - by Salvador Beltrán
    My name is Salvador, I'm a Computer System Eng. Student and I'm searching for people to contribute with my research and I need real opinions - Experience (is an investigation for problems in the Project Management Area), just to be clear it can be any kind of project. If you help me with these 3 questions I would appreciate you so much! :) 1 - Any kind of problem that ocurred during the process of the project administration(Just the description). 2 - What was the impact? 3 - And what was the solution to avoid this problem in some future. 4 - What do you do(Software Engineering,Networking,etc). Thank you very much!

    Read the article

  • Opitz Consulting wins the Oracle SOA Partner Community Award

    - by Jürgen Kress
    Thanks for the nice post! Ein wichtiger Preis für die SOA-Community: Der Oracle EMEA SOA Community Award Im Rahmen der Oracle Open World verlieh Oracle den „Oracle EMEA SOA Community Award" im Bereich "Outstanding Contribution“ im Jahr 2010 bereits zum dritten Mal in Folge an OPITZ CONSULTING: Award als erster SOA Specialized Partner in Europa In 2010 errangen die SOA-Spezialisten von OPITZ CONSULTING den begehrten SOA Partner Community Award. Das Oracle SOA-Team um Jürgen Kress honoriert hiermit das Erreichen der ersten Oracle SOA Spezialisierung in Deutschland, die Community-Arbeit, das Durchführen von SOA-Trainings (auch für anderen Oracle Partner) und das allgemeine Wachstum des OPITZ CONSULTING SOA-Bereichs. Verbindung von EA, BPM und SOA gewürdigt Im Jahr 2009 wurde ein OPITZ CONSULTING Direktor Strategie & Innovation geehrt: Dirk Stähler (Bild li.) erhielt den Award für sein Engagement im Aufbau und der Weiterentwicklung von BPM- und SOA-Themen. Ein besonderer Grund für die Verleihung an ihn waren seine Arbeiten zur effektiven Verbindung von Enterprise Architecture, Business Process Management und SOA. Award für SOA-Community-Arbeit und -Publikationen OPITZ CONSULTING Direktor Strategie & Innovation und Oracle ACE Director, Torsten Winterberg (Bild re.), holte diesen Preis im Jahr 2008 für OPITZ CONSULTING nach Deutschland. Er wurde für sein außerordentliches Engagement in der Etablierung von serviceorientierten Architekturen gewürdigt. Dazu gehören beispielsweise der Aufbau einer Special Interest Group SOA, Roundtable-Initiativen sowie umfangreiche Veröffentlichungen zu SOA.   For more information on the SOA Partner Community please feel free to register at www.oracle.com/goto/emea/soa (OPN account required) Blog Twitter LinkedIn Mix Forum Wiki Website Technorati Tags: SOA Community,Opitz,Opitz Consulting,Torsten Winterberginterberg,oracle,opn,Jürgen Kress

    Read the article

  • Need for gksudo for "Install new software" in eclipse

    - by Captain Giraffe
    I have been developing for android on eclipse for a while now, and my experience with the eclipse environment on Ubuntu10.10 has not been a smooth one. With the repo install of eclipse I have had to sudo eclipse to install the required components for android development. (a big red flag for me) I tried today to install updates for the eclipse and android platform and my eclipse installation seems to have broken horribly. I can no longer find and of the urls for new software if i gksudo it, if I run it in user mode it fails (as it always has) with permissions problems. I have chowned user:user all my eclipse and android related private/user files. This is a system running ubuntu 10.10 with gnome2.x. On my kubuntu 11.10 install it work a lot better. Is there an easy fix to this? Is the repo version of eclipse broken? Should I do a clean install for just my user? (if so can I retain my previously installed software? the installation process is very time consuming) I saw there was a previous post here recommending this for new installations.

    Read the article

  • Nagios and rrd on a old server

    - by Pier
    I have an old server (P4 based) on which nagios (and all the other tools to monitor) is running. In the last few weeks we are seeing a strange behavior. In the /var/spool/pnp4nagios (where temporary files are stored before getting processed by pnp4nagios daemon) we have many files like perfdata.1274949941-PID-18839 and we get an error in npcd.log: [05-27-2010 11:17:46] NPCD: ThreadCounter 0/15 File is perfdata.1274951306-PID-27849 [05-27-2010 11:17:46] NPCD: File 'perfdata.1274951306-PID-27849' is an already in process PNP file. Leaving it untouched. Sometimes some graph are not drawn. The server is pretty loaded (around 5-6 normally) and i suspect that npcd goes in timeout and leave those files behind. What could I do (apart from change the server)? Few infos about the system: centos 5.5 nagios 3.2.1 pnp4nagios 0.6 (from sources) Thanks

    Read the article

  • MySQL Policy-Based Auditing Webinar Recording Now Availabile

    - by Rob Young
    For those who missed the live event, the recording of the "How to Add Policy-Based Auditing to your MySQL Applications" webinar is now available.  You can view it here. This presentation builds on my earlier blog post on MySQL Enterprise Audit that was announced at MySQL Connect in late September.  The web presentation expands on the introductory blog and covers: The regulatory problem to be solved (internal audit, PCI, Sarbanes-Oxley, HIPAA, others) MySQL Audit solutions for both Community and Enterprise users: General Log - use the basic features of the MySQL server MySQL 5.5 open audit API - or use your time and talent to build your own solution MySQL Enterprise Audit - or use the out of the box, ready for production solution from MySQL Simple, step-by-step process for installing, enabling and configuring the MySQL Enterprise Audit plugin for use with existing apps New variables and options for tuning the MySQL Enterprise Audit plugin for your specific use case Best practices for securing and managing audit log files and archived images Roadmap for adding an integrated solution around MySQL Enterprise Audit for MySQL only and Oracle/MySQL shops You can learn all the technical details on MySQL Enterprise Audit in the MySQL docs and learn all about MySQL Enterprise Edition and Auditing here. As always, thanks for your support of MySQL!

    Read the article

  • How to clean up an unprocessed orphan inode list?

    - by bmk
    I tried to mount a formerly readonly mounted filesystem read-writeable: mount -o remount,rw /mountpoint Unfortunately it did not work: mount: /mountpoint not mounted already, or bad option dmesg reports: [2570543.520449] EXT4-fs (dm-0): Couldn't remount RDWR because of unprocessed orphan inode list. Please umount/remount instead A umount does not work, too: umount /mountpoint umount: /mountpoint: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) Unfortunately neither lsof of fuser don't show any process accessing something located under the mount point. So - how can I clean up this unprocessed orphan list to be able to mount the filesystem again without rebooting the computer?

    Read the article

  • Oracle Fusion Middleware Innovation Awards 2012 submissions - Only 2 weeks to go

    - by Lionel Dubreuil
    Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-qformat:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} You have less than 2 weeks left (July 17th) to submit Fusion Middleware Innovation Award nominations. As a reminder, these awards honor customers for their cutting-edge solutions using Oracle Fusion Middleware. Either a customer, their partner, or an Oracle representative can submit the nomination form on behalf of the customer. Please visit oracle.com/corporate/awards/middleware for more details and nomination forms. Our “Service Integration (SOA) and BPM” category covers Oracle SOA Suite, Oracle BPM Suite, Oracle Event Processing, Oracle Service Bus, Oracle B2B Integration, Oracle Application Integration Architecture (AIA), Oracle Enterprise Repository... To submit your nomination, the process is very simple: Download the Service Integration (SOA) and BPM Form Complete this form with as much detail as possible. Submit completed form and any relevant supporting documents to: [email protected] Email subject category “Service Integration (SOA) and BPM” when submitting your nomination.

    Read the article

  • How to maintain PCI compliance on a LAMP server when repositories don't keep up with versions

    - by Jared Green
    We run Ubuntu Lucid 10.0.4 as the foundation of our LAMP environment. We are trying to become PCI compliant so that we can pass CC info through our server. We have run some third-party scans on our servers to begin the certification process and have run into errors regarding PHP 5 versions and Apache versions. The latest PHP version hosted in our official lucid repository is about 10 versions lower than what PCI compliance requires. How do we upgrade to stay current with PCI compliance requirements? We need to get from php 5.3.2 to php 5.3.15 As well as up to apache 2.2.23 I've searched far and wide for an answer and haven't come up with a realistic answer. Some recommend compiling manually - which sounds like a nightmare, and others recommend a PPA - which sounds insecure. What should we do?

    Read the article

  • After update, flash plugin playing video too fast or too slow

    - by John H
    Last night I did an update and reboot. After that, I couldn't reliably play any flash videos. They would either go too fast or stutter (as if they were buffering every 2 seconds). This occurs in both Firefox and Chrome, however I'll troubleshoot in Chrome because it's easier to enable/disable plugins at will. With PPAPI enabled (and npapi disabled), flash videos play at 1.5x speeds and audio is scrambled. With NPAPI enabled (and ppapi disabled), flash videos stutter and skip, despite showing a decent buffer. From one old thread, I went into pavucontrol and tried disabling the high def audio controller. I also tried disabling Totem plugin to no affect. Version other details: Linux freshdesk 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/*-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.04 DISTRIB_CODENAME=precise DISTRIB_DESCRIPTION="Ubuntu 12.04.1 LTS" Shockwave Flash 11.3 r31 /opt/google/chrome/PepperFlash/libpepflashplayer.so 11.3.31.331 PPAPI (out-of-process) Shockwave Flash Version: 11.2 r202 Location: /usr/lib/adobe-flashplugin/libflashplayer.so Type: NPAP 01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 8400 GS] (rev a2) 01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)

    Read the article

  • "broken" windows xp after disc replacement

    - by epeleg
    Windows xp pro OEM was installed on my machine, Disk was failing so I cloned it to a new disk (larger one). Now windows said that the hardware has changed significantly and I need to re-activate, and I would gladly do (got the product number on a sticker on the machine) - only that for running the activation process I need to be logged-in, but when I try to login it just automatically logs me out again :( I know my credentials are O.K. because I can connect to the machine remotely and also use sysinternals tools such as PsExec or PSList etc. on it from a remote machine by specifying user and pasword. Login via safemode does not work any differently then in normal mode... I tried to run rundll32.exe syssetup,SetupOobeBnk (as suggested in several places on the net) using PsExec but it did not seem to help... Is there any way out of this evil circle? [ can't log in because not activated - cant activate because not logged in ]

    Read the article

  • selective backup script in bash

    - by Sake
    Hi, I've been using this simple command (that's all I can do :) to backup the whole tree from my user data in NAS server for a year. cp -r /STORAGE /BACKUP-STORAGE/YYYY-MM-DD Unfortunately, after a year of service. My user start filling the spaces with lot of photo and cliparts (jpg, gif, bmp) And that start to make my backup process get much slower. The space is also a big issue. Now I no longer have enough space for a week-long daily backup set. I think I want to change from backup everything to backup only non-image data. How can I exclude jpg, gif, and bmp from the backup ? It's quite easy with DOS XCOPY command, but I really have no idea how to do that in bash. Thanks

    Read the article

  • CLR Version issues with CorBindRuntimeEx

    - by Rick Strahl
    I’m working on an older FoxPro application that’s using .NET Interop and this app loads its own copy of the .NET runtime through some of our own tools (wwDotNetBridge). This all works fine and it’s fairly straightforward to load and host the runtime and then make calls against it. I’m writing this up for myself mostly because I’ve been bitten by these issues repeatedly and spend 15 minutes each However, things get tricky when calling specific versions of the .NET runtime since .NET 4.0 has shipped. Basically we need to be able to support both .NET 2.0 and 4.0 and we’re currently doing it with the same assembly – a .NET 2.0 assembly that is the AppDomain entry point. This works as .NET 4.0 can easily host .NET 2.0 assemblies and the functionality in the 2.0 assembly provides all the features we need to call .NET 4.0 assemblies via Reflection. In wwDotnetBridge we provide a load flag that allows specification of the runtime version to use. Something like this: do wwDotNetBridge LOCAL loBridge as wwDotNetBridge loBridge = CreateObject("wwDotNetBridge","v4.0.30319") and this works just fine in most cases.  If I specify V4 internally that gets fixed up to a whole version number like “v4.0.30319” which is then actually used to host the .NET runtime. Specifically the ClrVersion setting is handled in this Win32 DLL code that handles loading the runtime for me: /// Starts up the CLR and creates a Default AppDomain DWORD WINAPI ClrLoad(char *ErrorMessage, DWORD *dwErrorSize) { if (spDefAppDomain) return 1; //Retrieve a pointer to the ICorRuntimeHost interface HRESULT hr = CorBindToRuntimeEx( ClrVersion, //Retrieve latest version by default L"wks", //Request a WorkStation build of the CLR STARTUP_LOADER_OPTIMIZATION_MULTI_DOMAIN | STARTUP_CONCURRENT_GC, CLSID_CorRuntimeHost, IID_ICorRuntimeHost, (void**)&spRuntimeHost ); if (FAILED(hr)) { *dwErrorSize = SetError(hr,ErrorMessage); return hr; } //Start the CLR hr = spRuntimeHost->Start(); if (FAILED(hr)) return hr; CComPtr<IUnknown> pUnk; WCHAR domainId[50]; swprintf(domainId,L"%s_%i",L"wwDotNetBridge",GetTickCount()); hr = spRuntimeHost->CreateDomain(domainId,NULL,&pUnk); hr = pUnk->QueryInterface(&spDefAppDomain.p); if (FAILED(hr)) return hr; return 1; } CorBindToRuntimeEx allows for a specific .NET version string to be supplied which is what I’m doing via an API call from the FoxPro code. The behavior of CorBindToRuntimeEx is a bit finicky however. The documentation states that NULL should load the latest version of the .NET runtime available on the machine – but it actually doesn’t. As far as I can see – regardless of runtime overrides even in the .config file – NULL will always load .NET 2.0 even if 4.0 is installed. <supportedRuntime> .config File Settings Things get even more unpredictable once you start adding runtime overrides into the application’s .config file. In my scenario working inside of Visual FoxPro this would be VFP9.exe.config in the FoxPro installation folder (not the current folder). If I have a specific runtime override in the .config file like this: <?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v2.0.50727" /> </startup> </configuration> Not surprisingly with this I can load a .NET 2.0  runtime, but I will not be able to load Version 4.0 of the .NET runtime even if I explicitly specify it in my call to ClrLoad. Worse I don’t get an error – it will just go ahead and hand me a V2 version of the runtime and assume that’s what I wanted. Yuck! However, if I set the supported runtime to V4 in the .config file: <?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v4.0.30319" /> </startup> </configuration> Then I can load both V4 and V2 of the runtime. Specifying NULL however will STILL only give me V2 of the runtime. Again this seems pretty inconsistent. If you’re hosting runtimes make sure you check which version of the runtime is actually loading first to ensure you get the one you’re looking for. If the wrong version loads – say 2.0 and you want 4.0 - and you then proceed to load 4.0 assemblies they will all fail to load due to version mismatches. This is how all of this started – I had a bunch of assemblies that weren’t loading and it took a while to figure out that the host was running the wrong version of the CLR and therefore caused the assemblies loading to fail. Arrggh! <supportedRuntime> and Debugger Version <supportedRuntime> also affects the use of the .NET debugger when attached to the target application. Whichever runtime is specified in the key is the version of the debugger that fires up. This can have some interesting side effects. If you load a .NET 2.0 assembly but <supportedRuntime> points at V4.0 (or vice versa) the debugger will never fire because it can only debug in the appropriate runtime version. This has bitten me on several occasions where code runs just fine but the debugger will just breeze by breakpoints without notice. The default version for the debugger is the latest version installed on the system if <supportedRuntime> is not set. Summary Besides all the hassels, I’m thankful I can build a .NET 2.0 assembly and have it host .NET 4.0 and call .NET 4.0 code. This way we’re able to ship a single assembly that provides functionality that supports both .NET 2 and 4 without having to have separate DLLs for both which would be a deployment and update nightmare. The MSDN documentation does point at newer hosting API’s specifically for .NET 4.0 which are way more complicated and even less documented but that doesn’t help here because the runtime needs to be able to host both .NET 4.0 and 2.0. Not pleased about that – the new APIs look way more complex and of course they’re not available with older versions of the runtime installed which in our case makes them useless to me in this scenario where I have to support .NET 2.0 hosting (to provide greater ‘built-in’ platform support). Once you know the behavior above, it’s manageable. However, it’s quite easy to get tripped up here because there are multiple combinations that can really screw up behaviors.© Rick Strahl, West Wind Technologies, 2005-2011Posted in .NET  FoxPro  

    Read the article

< Previous Page | 500 501 502 503 504 505 506 507 508 509 510 511  | Next Page >