Building Sharepoint project on 32bit machine - sharepoint-2010

My buildserver is a 32bit system.
I heard that to run and develop sharepoint projects I need a 64bit machine.
Is it feasible to build a sharepoint project on a 32bit system?

Answering my own question:
It IS possible to build Sharepoint projects on a 32bit 4.0 Framework with msbuild. Also those can be deployed to a server.

As far as I know, no. You'll need an x64 box to build it on. Note that with team city you get 3 free build agent licenses so you can always toss the build on another machine.

Related

VB.NET compiled app setup for x86 platform won't run on Windows XP/Vista 32-bit

Using VS 2010 Ultimate on my Windows 7 64-bit machine, I wrote a Windows Forms Application with Visual Basic and then compiled it with "Build" command specifically for x86 platforms ( I have tried assigning both "x86" and "Any CPU" on Active solution platform options in Configuration Manager). I have also made sure that TargetPlatform is set to x86 on Project Properties.
However, when I'm trying to run the .exe or the .msi file on my XP 32-bit machine, I get this message:
"This product is designed for x64 platform but is being installed on Intel. Obtain the correct setup from the manufacturer."
.NET Framework 4 client profile, which is a Prerequisite for my application, is also installed on the XP machine.
Does anyone have a clue for this? How can I fix this?
Thank you for your time.
I'm not sure about 2010, but in VS2008 it is sometimes necessary to go to Project Properties, Compile, Advanced Compile Options, and change the target CPU to from AnyCPU to x86.

what are all requirements for run the visual studio 2010 vb projects

I developed the project in visual studio 2010. That exe file is not supported for other PC's.
which dotnetframework to be installed? other than dotnetframework is there any other requirements needed?
Are you sure it's not the CPU type you specified during compiling (x86 vs x64 CPU). If you compiled in 64-bit and a user only has a 32-bit processor (x86), your code won't run.
The .Net Framework should work on any PC-based system, but be sure to include it in your deployment or setup package. (you can provide Excel, .NET Framework, and many other packages with your package.)
You should also try to find out what error messages your users are receiving -- which will point you in the right direction.

How to exclude a particular project from Continuous Integration

I use TFS2010 for source control and a build agent on windows server 2008 R2 (x64) for continuous integration.
Recently, we introduced a lightweight client application X that uses Office 2007 Primary Interop Assemblies to interact with Excel. The app has many dependencies to various projects in the solution. No other project have any dependency to X.
This is all well and good except that X wont build on the build server. From reading a few blog posts and some posts here on StackOverflow, I understand that it is not advisable to attempt to install these PIA's on my x64 build server. And that doing so will involve a bit of hacking in registry.
The solution has more than 30 projects and I do not want to duplicate the .sln in order to create a bastard BuildServerVersion.sln (or something) that contains the 29 projects that I DO want to build on the build server.
Is there a simple way to either satisfy the dependencies to the Office 2007 PIAs or to make the build agent stop trying to build that particular project? I suppose we could build and deploy just app X from a developer machine. It is an internal tool, anyway.

Is it possible to target x64 .msi with WiX on a 32bit machine?

I'm developing SharePoint solutions on a virtual 32bit machine, and I use Wix to package the setup.
I'm targeting both 32bit and 64bit environments with my solutions, but in order to create 64bit MSI's, I need to have have a 64bit machine and the 64bit version of WiX.
Normally, this wouldn't be an issue, since I would have just simply use a 64bit dev environment.
But there are some issues with developing SharePoint solutions on a 64bit platform, which more or less forces me to develop on the 32bit platform.
Because of that, I can't create a 64bit MSI's, unless I copy the source files to a 64bit machine just to build the 64bit MSI, which feels a little bit cumbersome.
Is there any trick to flag/build the 64bit MSI package on my 32bit dev box, if it's even possible?
You do not need to run a 64-bit development machine to create a 64-bit MSI file.
What makes an MSI file "64-bit" is simply that the "Template Summary" field in the Summary Information Stream is set to "AMD64;1033" (one possible example) instead of "Intel;1033".
This MSDN article might provide you more information.
AFAIK the Wix tools set is agnostic to platform, you need to install the x64 version, and you need to use the proper flags inside the setup (there are various of places you need to be explicit about x64, more info here).

Does a 64-bit CruiseControl.NET exist?

Does a 64-bit CruiseControl.NET exist or do I need to install the 32-bit version? Our CI server is Server2003 64-bit. Currently I have been testing on WinXP Pro and no problems.
If I do need to run cc.net 32-bit on a 64-bit OS, what issues should I expect to encounter? This post mentions a couple, Running 32-bit ASP.NEt 3.5 apps in Windows 2003 64-bit . I would also need to have the .NET 2.0 and 3.5 framework installed. Do I install the 32-bit versions if running cc.net 32-bit? Can 32-bit and 64-bit coexist on the same server?
A quick peek at the source code reveals that CruiseControl.NET is compiled with "Any CPU" platform, so it will (and does) run on either a 32 or 64 bit runtime.
My notebook runs 64 bit O/S and has no problems with CruiseControl.NET server or web dashboard (IIS 7). Just install it as per normal and you should be fine.
Personally I'd be really worried if it needed > 3GB of memory :)
It shouldn't be anything you need to worry about. Cruise control just launches the build, subsequent steps such as compilation can be 64-bit.
I don't think there's much benefit from making CruiseControl 64-bit at the moment. I'm running CruiseControl without issues on a 64-bit machine. The setup was not much different, other than the folder which it was installed into (Program files (x86)).
Generally speaking, all 32bit applications will work on a 64bit OS. I have been doing this with my webapps for some time. You will encounter issues only if you are trying to reference assemblies across the bit boundary, ie. 64bit assembly from 32bit application.
You should be already to run CC on 32bit mode on 64bit OS.
There are no seperate version of CruiseControl for 64-bit. But but you may run into an ASP.NET error if working with Win. Server 2008 and IIS7.
Workaround:
"C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe" -i
and
"C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe" -i "W3SVC/1/ROOT/ccnet"
NOTE: it is using Framework64 as this would not work for 32-bit.