I am building an installer and I want to bootstrap SQL Server Compact Edition 3.5 SP2. The problem is that I am looking for the registry key HKLM\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU\DesktopRuntimeVersion. The reason that is a problem is that for 64-bit machines SQL CE requires that both the 32-bit and 64-bit installers are run. You can't install the 64-bit version until the 32-bit version is installed.
As soon as the 32-bit version is installed the registry key is populated and my bootstrapper, dotNetInstaller detects that the registry key is there and the x64 version is never installed.
Any ideas on how to tell if the x64 version is installed even if the x32 is installed?
x64 system with only x86 runtime installed:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU]
"DesktopRuntimeVersion"="3.5.8080.0"
"DesktopRuntimeServicePackLevel"="2"
x64 system with both x86 and x64 installed:
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU]
"DesktopRuntimeVersion"="3.5.8080.0"
"DesktopRuntimeServicePackLevel"="2"
"DesktopRuntimeVersion_x64"="3.5.8080.0"
Some code test whether SQL CE 3.5 SP2 is installed using MSBuild:
<PropertyGroup>
<SSCE35sp2Installed Condition="'$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU#DesktopRuntimeVersion)' == '3.5.8080.0' And '$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU#DesktopRuntimeServicePackLevel)' == '2'">true</SSCE35sp2Installed>
<SSCE35sp264Installed Condition="'$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server Compact Edition\v3.5\ENU#DesktopRuntimeVersion_x64)' == '3.5.8080.0'">true</SSCE35sp264Installed>
</PropertyGroup>
I'm not sure how many of the registry values need to be checked. For example should the Wow6432Node DesktopRuntimeServicePackLevel value be checked in addition to the above?
Related
I have to install SQL Server 2008 R2, but I get error in the setup.
Tell me that I need to install a .Net Framework 3.5, but is already installed!
What am I missing?
Which one is the correct installer.
got to the below link, Download and install .Net framework 3.5 and then try
https://www.microsoft.com/en-in/download/details.aspx?id=21
I bought a copy of SQL Server 2012 Developer Edition, and no matter what I try, I can't seem to be able to install SQL Server Management Studio 64-bit from the install disc. I've tried installing and uninstalling several times, and only the 32-bit version shows up. Even the C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudio folder exists, but not the 64-bit executable. Anyone know what I'm doing wrong?
I'm running Windows 7 Enterprise 64-bit SP1 with 16 GB of RAM...
Edit: a little further info... sqlservr.exe is running in 64-bit. Just not ssms.exe...
There is no such thing. The application itself, like Visual Studio, only ships as a 32-bit application, regardless of the operating system and regardless of the instance(s) you use it with.
I have written a windows service in c# using ide visual studio 2012.
When I tried to install it on a windows server 2003 I got this error message:
Prerequisite check for system component Microsoft .NET Framework 4.5 (x86 and x64) failed with the following error message:
"Installation of the Microsoft .NET Framework 4.5 is not supported on this operating system. Contact your application vendor."
So I went back into my project and set the target framework to 4.0. I then rebuilt the solution, re-added the installer and published again. However, when I try to install I get the exact same error.
For some reason it is not detecting that I have changed the framework to 4.0. Any ideas where I have force this change or where even to look??
Extra Info: It seems to be using click-once deployment.
The only solution I came up with was to create a new project with the correct .NET version. Copied all my code across and it worked... shrug
.NET Framework 4.5 is not supported on Windows XP, Windows Server 2003 and similar.
Supported Operating Systems (as per System Requirements page):
Windows 7 Service Pack 1, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2
Windows Vista SP2 (x86 and x64)
Windows 7 SP1 (x86 and x64)
Windows Server 2008 R2 SP1 (x64)
Windows Server 2008 SP2 (x86 and x64)
If you're using Wine to install it, run winecfg and change your Windows version to higher.
Otherwise install lower version of .NET Framework such as 3.0. If you're compiling the project, change it in Target framework.
I have an application whose deploy process builds the source code on the server I'm deploying to. My production server is Windows 2k8 (not 2k8 R2). My app is not compiling as the reference assemblies for .NET Framework 4.5 are not present.
I've tried installing the Windows 8 SDK and the option to install the reference assemblies isn't there. I've also tried installing Visual Studio Express 2012, which supposedly has the assemblies, but no luck there. So....
How do I get .NET Framework 4.5 applications to compile on a Windows Server 2k8 R1 machine?
There are manual instructions to install .NET 4.5 Reference assemblies of Windows Server 2008. Refer to following link:
http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx#rn
I've installed the reference assemblies from:
The Microsoft .NET Framework 4.5.1 Developer Pack for Windows Vista SP2, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2008 SP2, Windows Server 2008 R2 SP1, Windows Server 2012 and Windows Server 2012 R2
http://support.microsoft.com/kb/2878632/en-us
Is there any way to find the sql server is 64 bit or 32 bit in machine using wix.
I am building the wix in visual studio 2010.Based on configuration the installer will install. At install time it will check sql is 64 or 32. If OS is 64bit but 32 sql is installed my installer will install.
Thanks,
Rajeev Kumar.
To detect if the target machine is 32-bit or 64-bit you can use VersionNT64 property. This property can be used as a launch condition to stop the 32-bit package from installing on a 64-bit machine. A 64-bit package cannot run on a 32-bit machine and is stopped automatically.
For detecting SQL Server there are multiple approaches. For example you can search for registry values or use a custom action. Perhaps this article will help:
http://blogs.msdn.com/b/sqlexpress/archive/2006/07/29/682254.aspx