I haven't had a chance to test yet, but my impression is that F# is not the issue here. You might try deploying a 'hello world' or 'async hello world' F# app to test this quickly (just drop the app.exe and FSharp.Core.dll on the box). It sounds like the issue may be with other components in the app or the installer itself. (But I could be wrong; have not tested.)

By on 4/23/2010 9:57 AM ()

Workaround: compile with "--standalone" and install via "installutil.exe".

Notes:

<UL><li>I am only referencing standard .NET libraries & FSharp.core</LI> <UL><li>FSharp.Core</LI><li>mscorlib</LI><li>System</LI><li>System.Configuration</LI><li>System.Configuration.Install</LI><li>System.ServiceProcess</LI></UL> </li><li>Just compiling with --standalone still caused the installer to fail with the missing DLL error dialog (not stack dump).</LI><li>Including the FSharp runtime files in the installer also did not resolve the installer error.</LI></UL>

By on 4/23/2010 10:03 AM ()

Uhm... I'm afraid I need a little bit more infor on what you are doing (or what your service is doing).

I was able to do the following:

- In Dev10, create a C# windows service targeting NetFx3.5

- In Dev10, create an F# library targeting NetFx3.5

- Deployed my Windwos Service to an R2 Core box with NetFx2 and 3 properly installed (both 32 and 64 bit)

- Installed the service with InstallUtil.exe (from the NetFx2 folder - 32bit since my service was 32bit)

- Attach a debugger to my service (from the machine with Dev10)

- Debug the process - i.e. stepping into my F# library

- Verify that FSharp.Core.dll was loaded

- etc...

Just out of couriosity, did you install NetFx using something like:

DISM /online /enable-feature /featurename:NetFx2-ServerCore

DISM /online /enable-feature /featurename:NetFx3-ServerCore

DISM /online /enable-feature /featurename:NetFx2-ServerCore-WOW64

DISM /online /enable-feature /featurename:NetFx3-ServerCore-WOW64

Thanks,

-Matteo

By on 4/23/2010 6:56 PM ()

Which DLL is missing in the installer?

(Same file in FileNotFoundException?)

Is the 'partial 3.5' a client profile, or something else, do you know?

By on 4/22/2010 7:23 PM ()

Which DLL is missing in the installer?

(Same file in FileNotFoundException?)

Is the 'partial 3.5' a client profile, or something else, do you know?

According to this link, the only thing missing from Server Core .NET is WPF.

The installer error does not indicate what DLL is missing, and depends.exe doesn't list anything. Will look with the disassembler tomorrow.

Hopefully there is an easy fix: just spent 4 hours writing a TCP/UDP echo service for unit tests, and would really like to get this going quickly... I'm still at red bar!

-- Jay

By on 4/22/2010 8:46 PM ()

The installer error does not indicate what DLL is missing

But the FileNotFoundException should do so, shouldn't it? Using its stack trace, you should be able to identify the parts of the F# lib depending on the missing assembly and try to remove them by building the lib from source or using something like Reflexil.

By on 4/23/2010 3:30 AM ()

Guess I should RTFM, but unfortunatally don't like what I see there...

From the Microsoft Visual Studio 2010 F# Runtime 2.0 download page, Server Core is not supported:

System Requirements

<UL><li><b>Supported Operating Systems:</b> [...]</LI> <UL><li>[...]</LI><li>Windows Server 2008 R2 (not supported on Server Core Role)</LI></UL></li></ul> That. Sucks. Any roadmap on getting an F# runtime out which supports Server Core? Too bad it won't be in time for my immediate needs, though. Any clue on a work around (or hack around)? This isn't directly for production code, but does block development of unit/system tests in production code. I'll find some other way to get test targets, but it certainly won't be as much fun as async F# ;-) -- Jay

By on 4/22/2010 11:38 PM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper