Windows 64 bit Server vs x64 apps - dll

I have the source code for a 32-bit dll (Windows) that I am trying to re-compile as a 64 bit dll. I have been told that the app "can compile in VC++ 64-bit mode to target AMD64 or Itanium processors running Windows 64 bit Server."
I am trying to decipher this: if it runs on Windows 64 bit server, should it also run on x64 bit Windows?

AMD64 and x64 and x86-64, and Intel64 and EM64T are essentially same thing, with different names.

Related

mono -> MonoDevelop f# 64 bit

I have ubuntu 16.04 and monodevlop editor, I have added AnyCpu option and trying to compile f# code , when I check the exe it is 32 bit, I have ubuntu 64 bit.
When I compile the same code on windows using xamarin and AnyCpu option I can see in task manager that its not 32 bit exe. So it works in windows but , anycpu option for monodevlop is not giving 64 bit exe in ubuntu.
Any idea what I should do to get 64 bit exe as output
Mono Version is 4.6.2 on ubuntu.
Regards,
Amit Bhagwat

How to build x64 with monodevelop?

I would like to build a x64 package of a project I wrote in monodevelop. I can change the project compiler options from x86 to x64, but if I do this, I get the error:
Error CS0016: Could not write to file `AudioCuesheetEditor', cause: AMD64 (CS0016) (AudioCuesheetEditor)
How can I build packages for x64 systems?
Thank you for help!
Use the any cpu configuration
You'll get x64 on a 64-bit operating system, x86 on a 32-bit operating system. Automagic provided by the just-in-time compiler.
BUT On windows x86 with anycpu there is no problem. Using windows x64 will crash becaus gtk-sharp has no x64 build. So on windows x64 you have to build x86.

The 64 bit dll of Microsoft SharePoint is running on 32 bit machine

I am working on SharePoint domain. Sometime I need to do development for event receiver and windows service etc.
Last week I have installed a Windows Service on my server to upload the documents from a local folder. Server is 64bit machine and "Windows server 2008 R2" installed on server as OS to run SharePoint Foundation 2010. Service was running properly.
The requirement was, no user will go to the server to upload the document. So I have installed the service on local users machine. Some users were having 32 bit Machine and 32 bit OS and other users are working with 64 bit. while installing the service I got an error on 32 bit machines. Error was "This solution is for 64bit machine". After changing the target platform from 64bit to x86, the service was installed successfully on 32 bit machine and started working properly.
Now the question came:
To work with SharePoint Object Model, I am using SharePoint 64 bit
dll in my Windows service which is installed on 32 bit machine and 32
bit OS.
Is it possible that the 64bit dll will work on 32 bit machine?
In what scenarios we can face the problem of "64 bit dll will not
work on 32 bit machine"?
What should I do if I want to install the same solution on 64 bit
and 32 bit machine? I don't want to change the target platform
each and every time.
UPDATE:
After R&D I found "32 bit solution can be installed on 64 bit dll with some terms and conditions" refer http://www.samlogic.net/articles/32-64-bit-windows-folder-x86-syswow64.htm.
In 64 bit machine we are having Program x86 and SysWOW64 folders to handle the 32 bit dll functionality.
Now the question is:
How we are handling the 64 bit dll on 32 bit machines?
And
Is it confirm that the SharePoint dlls are "any CPU"?
Regards.
Not sure I understand what you are trying to do, so I'll try to be exhaustive:
SharePoint Object Model are only available on SharePoint servers, not user workstation. They indeed rely on 64 bits DLL that only work on 64bits OS.
SharePoint 2010 allows you to use the "Client Object Model" that work on remote computer like use workstation. They are .Net DLL, not specific to 32bits or 64bits. Just compile your exe with "Any CPU" and it will work just fine
Generically speaking, 64bits exe only work on 64bits OS. In .Net you can however use "Any CPU" that will work for both 32bits and 64bits. This however will only work if you exe and its dependencies are full .Net (no native code).

using 32 bit SQL server ODBC on 64 bit system

Microsoft has a SQL server either as 32 bit or 64bit, however the 64bit contains both 32bit AND 64 bit.
are there any MSI packages containing the 32 bit AND 64 bit version of the ODBC connector ?
i.e. the install package decides by itself which version to install`?
Unfortunately, MSI is not very good at providing a single installer that works for both 32-bit and 64-bit systems. The 32-bit installer will not be able to write to the locations where the 64-bit files should be stored, and the 64-bit installer will not start on a 32-bit system.

Is there a 64 bit version of Pex (Academic license)?

The Academic license of Pex seems to come only in a 32 bit version.
Is there a 64 bit version?
According to the release note page version v0.91.50418.0 has been the first with x64 support.
Furthermore, according to Pex requirements you need one of the following OS to install Pex:
Windows 7 32bit / 64bit, W2K8 32bit /
64bit, Windows Server 2008 R2 Other
versions of Windows (XP, W2K3, Vista)
should work but are untested. x86,
x64 and Wow64 (32-bit running 64-bit
OS) are supported. .NET Framework
2.0/3.0/3.5 and/or 4.0
Hope it helps