How to chek Sqlserver and visual studio softwares are installed while installing msi file - deployment

I am creating msi file using visual studio. But i need to know how to test .Net Framework and SQL server are installed before doing installation of msi.
Is there any settings (Or) any windows installer are available.

Windows Installer proposes use the Bootstrapping for these purposes. You pack your MSI to Setup.exe and set needed prerequisites, in your case .NET FW 4 and SQL. When user starts Setup.exe, it checks if .NET and SQL are installed, if not installs them and then run the your MSI. You could include the installation files of .NET or SQL in your setup.exe or set link from where installation downloads it.
There is more information about Windows Installer Bootstrapping.

Related

Upgrade ClickOnce Application using Windows Installer. Is this possible?

Few machines have 'MyApp.exe' installed using ClickOnce. And I have created a new MSI Windows Installer for 'MyApp.exe' using MS Visual Studio 2013 Setup and Deployment. I have a requirement that when my new MSI Installer runs it has to automatically remove/uninstall all previous 'MyApp.exe' (installed using ClickOnce) and install the new exe. Installer has to do it as part of its installation process.
Is this even possible? ClickOnce doesn't make any registry entries, so how can I get the Upgrade codes/Product codes which I can feed to Windows Installed 'Upgrade Paths' to upgrade it. ClickOnce is per user installation, but Windows Installer is not.
Is it even possible for Windows Installer to uninstall ClickOnce installed application ?
Any help is greatly appreciated. Thanks
ClickOnce is a per-user deployment experience and MSI is usually a per-machine experience. Per machine can't clean up other people's profiles. The only way I know is to do an active setup trick to run a program for each user who logs on and then execute a script to do cleanup. Either that or put first-run code in the applicaton itself to do the same.

How do I include a KB2544524 in an InstallShield project

I have an application that uses SQLLocalDb that I am deploying via InstallShield Express Spring 2012.
LocalDb requires that the .Net update for KB2544514 be installed. LocalDb is unable to connect to a LocalDb instance without this update.
When I add this exe to InstallShield as a custom action:
An Error 1721 is encountered when NPD40-KB2544514-x86-x64.exe is executed unless the install is run as Administrator.
If the setup that includes NPD40-KB2544514-x86-x64.exe is run as an Administrator, the installation succeeds.
Is there a way to daisy-chain the Microsoft KB update with the install that does not require a reight-click "Run as Administrator". My concern is that instructions "Right click and Run as Administrator" will typically be overlooked by 99% of users and generate a high number of support calls.
You'll have to make a custom prerequisite via the "Install Shield Prerequisite editor" and associate it with your feature.

What binaries are required to deploy LocalDb?

Many articles state that LocalDb is easy to install and some state that SQL Express is not needed to deploy an application that uses LocalDb. However, I have found no reference that tells what binaries should be included in an install for an application that uses LocalDb.
Do I simply need to add the contents of "\Program Files\Microsoft SQL Server\110\LocalDb\Binn" to the application folder?
Is there a reference on this?
You should still use LocalDB MSI to install it. It is just that LocalDB MSI is very simple, has no prerequisites on supported platforms, installs fast and asks you no questions.
Also, if your application uses ClickOnce installation, and you are using Visual Studio 2012, you can just mark LocalDB as chained dependency in your Deployment Wizard.
Otherwise you need to make sure your installer installs LocalDB MSI.

TFS 2010 - Nightly Builds of WiX MSI for WebApplication/Windows Service and install to web server

Can you please enlighten me on my task?
My task is to create a nightly builds of MSI (done in WiX) and install it to our web server using powershell.
TFSBuild server build an MSI
Run Powershell to uninstall and install the newly build MSI.
Run Powershell to Start the windows service.
The WiX MSI contains WindowsService and a Web Application.
Below are list of what i have done so far:
Solution.sln : Configuration Manager and "x86|debug" (check all the files that needs to be built '.wixproj' already checked)
Created a build definition and set "x86|debug" for configurations to build and set projects to build is my solution file.
but after the build has completed, there is no MSI files on the binaries build folder on the build server. :(
Thanks in advance.
Few pointers:
Have you installed Wix on the buildserver?
Which version of Team Build are you using? 2010 has the preference here as the tooling has progressed a lot since 2008.
Did you configure to run msbuild in auto or x86 mode (auto can result in 64-bit which has some issues with the latest stable version of wix) link link
Is your build agent running on a 64 bit server? If so, you either need to run the build agent under an administrative account or do some mucking around in the registry to fix issues with Wix. link
To install the build using Powershell, I personally prefer TFSDeployer, which can monitor your build output and trigger powershell scripts based on the build outcome. It takes away the deployment responsibility from the build server and saves a lot of headaches around security and account configurations.

How to install VC80CRT debug runtimes without full visual studio 2005?

I can't run a debug sdk application because it requires both VC 8 and VC 9 versions of the CRT. But it only requires visual studio 2008 for plugin dev, which is what I need.
How do I install the debug runtimes from 2005 on to a Windows7 machine? I can't figure out how to make them run app local nor can I copy anything into the winSxS folder without a trusted installer.
Refer to this post.
As per this the debug dlls can be found at:
For Visual Studio 2005:
C:\Program Files\Microsoft Visual
Studio 8\VC\redist\Debug_NonRedist\x86
For Visual Studio 2008:
C:\Program Files\Microsoft Visual
Studio
9.0\VC\redist\Debug_NonRedist\x86
Also as per what I know you need not have these dlls in the WinSxS folder. Even if these dlls are present in the same directory as your application exe is, it will do.
Anyways using debug dlls in production environment is not recommended.
In case you elevate your application, make sure you set the 'Start in' path to the application home/install directory or add the path to the VC++ debug dlls to the PATH environment variable.
You must install visual studio to get the debug CRT. This will be moot as soon as we don't need 2005 or 2008 again.
You can create a simple setup project (vdproj) which pulls in the debug merge modules.
This works fine up to Visual Studio 2010 (VS10) but is not supported for 2012 (VS11) and later :o(
You must install the C++ compilers to get the debug CRT, but you don't have to install all of Visual Studio. Instead, use the web install of the Windows SDK to install the compilers. The Windows 6 SDK includes the VC8 compilers, the Windows 7 SDK includes the VC9 compilers and the Windows 7.1 SDK includes the VC10 compilers.