installshield sharepoint deployment - sharepoint

I am new to sharepoint and installshield. My responsiblity is to build and deploy the sharepoint solution as a package using istallsheild. Previously I was using solution package wsp and content database restoration. But now the client wants to deliver the total solution i.e. dlls, ascx files, xml files, servce files(.cs), feature files using installsjield from development server to another (test and/or client) server.
Can any body help me on this: how to do the sharepoint deployment using installshield?
thanks in advance.

I presume you are using SharePoint solutions to package dll's, ascx and xml files for deployment to a sharepoint server. These solutions are built using a tool like WSPBuilder.
If not: YOU SHOULD!
If so: Why not use SharePoint Installer? It is an installer wrapper around a .wsp (SharePoint solution) file. It will check for the existence of a sharepoint installation, if the required services are started etc.
For deployment to a test machine: Why would you need the .cs files? If you want to test (debug) code on a test machine, I suggest you use either continuous integration using a tool like CruiseControl.NET, or just install Visual Studio on the test machine (which I presume to be a dev test, not a client test machine) and get the latest version, do a build, then roll out the solution.
And what do you mean with "client" server? is there some windows app that's communicating with sharepoint included in the installer? If so, I suggest separating the SharePoint solution from the actual windows app. They might share DLL's but are not supposed to be in the same installer.

We are using a tool (open source - saf.codeplex.com) to automate the Sharepoint components using MSBuild/Features/STSADM etc. Recently they have upgraded this to use WIX so that we can deploy any SharePoint components.
saf.codeplex.com
It has got an very good documentation and also we got a good support in fixing and implementing the SharePoint automated deployment in our premise.
Thanks
BalamuruganK

Related

How do you include additional files for web publishing

I am attempting to use a build project to publish files from TFS to our web server. I don't have a project file as these are html, text, js files managed outside of Visual Studio. The basis for my attempt was How do you include additional files using VS2010 web deployment packages? and while the status of the build is successful, the files never get published to the server. Has anyone every used Web Publishing to push files maintained in TFS to a server like this. I want to use the standard publishing targets so the builds are easy to maintain ongoing.
I think the tooling in Visual Studio that builds Web Deployment packages requires a Web Application Project.
I suggest creating a Web Application project and adding your html/js files to it, then the default publish targets should be able to build a web deploy package and publish it without problem.

Missing Deployment Project Type in Visual Studio 2012

I am not a full time programmer, but have to do a little bit to build tools to support my job. I have finished writing my application which I now need to deploy.
I do not want to use "ClickOnce" as I need to alter files in the 'local' folder at configuration time. My understanding is that if I use the Publish option under the Build menu, then I am using "ClickOnce".
My research has led me to believe that "You do this by adding one or more deployment projects to your solution". MSDN then states, that to acheive this I need to select 'Add Project' and "In the resulting Add New Project dialog box, select the Setup and Deployment Projects folder."
The problem is, I do not have such an option ?!
Can someone shed some light on why this would be the case, and how I go about fixing it. I have spent half a day googling and cannot come up with a way forward?
Details of Project and System are as follows:
Environment: Visual Studio 2012 Express for Windows Desktop.
Current Project: Windows Form Application.
Op Sys: Windows 7 Professional.
Correct though its advice may be, that is an old tutorial that you're reading. It is probably referring to Visual Studio 2010.
That option has been removed in VS 2012. You will need to use an alternative tool to build your installer. For example:
WiX
Inno Setup
InstallShield
…etc.
I strongly suggest looking at Wix#. See http://www.codeproject.com/Articles/31407/Wix-WixSharp-managed-interface-for-WiX. If you are doing your coding in C#, Wix# this would probably be the most simple and comfortable skill set to add, and it is free and would directly integrate into the Visual Studio environment you are using.
More info at the CodePlex home page for Wix#: http://wixsharp.codeplex.com/
For C# developers needing to create a Windows Installer MSI to deploy their app, Wix# is perhaps the best replacement for the "Packaging and Deployment" project type that Microsoft removed from Visual Studio starting with VS2012. Wix is a C# front end for the WiX (Windows Installer Xml) Toolset. Using Wix# allows building a complete Windows Installer MSI in the C# language.
Wix# is useful for a broad range of installation/deployment scenarios, and lends itself reasonably well to Continuous Integration scenarios. There are Wix# examples for deploying Windows desktop applications, for installing Windows Services, and installing ASP.NET websites, and many more types of installations.
The question mentioned a need to install applications on Windows 7. Wix# supports this environment, and handles typical installer requirements, and the Wix# installer code for simple projects is indeed simple. For application installs that are more complex, and require advanced features, Wix# can tap into the power of the full WiX Toolset when needed. For example, when installing a .NET application, a typical requirement would be to install the application exe and dll files, and tailor some .NET configuration files and/or registry entries on the target system.
Below is an example of the C# code for a simple Wix# installer that installs an application on a target system, and modifies some configuration files. This example assumes that you have written a utility named "TailorMyConfig.exe", e.g., a simple C# program that uses ConfigurationManager.AppSettings routines, and you are deploying this exe along with your app.
using System;
using System.Windows.Forms;
using System.Diagnostics;
using Microsoft.Deployment.WindowsInstaller;
using WixSharp;
class Script
{
static public void Main(string[] args)
{
var project = new Project("MyProduct",
new Dir(#"%ProgramFiles%\My Company\My Product",
new File(#"Files\Bin\MyApp.exe"),
new File(#"Files\Bin\TailorMyConfig.exe")),
new ManagedAction("UpdateConfigFile"));
project.Id = new Guid("6f330b47-2577-43ad-9095-1861ba25889b");
Compiler.BuildMsi(project);
}
}
public class MyCustomAction
{
[CustomAction]
public static ActionResult UpdateConfigFile(Session session)
{
if (DialogResult.Yes == MessageBox.Show("Config file update ready to run.\n Update config file(s) now?",
"Config Tailoring Utility",
MessageBoxButtons.YesNo))
{
Process.Start("TailorMyConfig.exe", "Run utility to tailor config file to current system");
}
return ActionResult.Success;
}
}
Note that there are "better" ways to modify a config file using WiX XML features. For simplicity, the example above assumed a custom-written C# exe utility for modifying config files. I would suggest using WiX XML capabilities for doing this instead. You can incorporate nearly any WiX XML capabilities directly into your Wix# setup using the Wix# technique of "XML injection".
Remember, Wix# is simply a C# front end that emits WiX XML syntax. After Wix# has emitted the WiX XML (wxs file), that wxs file can easily be post-processed to insert additional WiX XML features. Then the resulting wxs file gets compiled by the WiX Toolset into an MSI.
For an example of using XML Injection to incorporate WiX XML features into a Wix# (C#)installation, look here In Wix#, how to avoid creating a physical folder on the target system, when deploying only registry entries?
In that question, see my answer that uses the technique of hooking up a delegate to the "WixSourceGenerated" event.
You could then use this XML injection approach to insert some WiX XML into your installer that would accomplish the config file editing. An example of some typical WiX XML to modify config files is here:
How to modify .NET config files during installation?
Another typical requirement of an installer would be to add or modify Windows Registry entries on a target system. Wix# provides direct support for that using the "RegValue" class. The advantage there is when using Wix# you also get a full "uninstall" capability for free, including uninstalling/reverting registry entries to the pre-install state. This is a natural result of Wix# being built on top of the WiX Toolset and Windows Installer technology. An example of a registry-only Wix# installer is here: In Wix#, how to avoid creating a physical folder on the target system, when deploying only registry entries?
The Wix# approach has been very useful in my environment, and it allows use of the familiar C# skillset without having to jump headfirst into the full complexity of the WiX XML installer technology.

OrchardCMS pull down to visual studio

If I have a version of Orchard installed on a server via Microsoft Web App Gallery from my hosting provider, Is there a good way to pull down the instance of orchard for local visual studio development?
When doing Visual Studio development, always use full source from Codeplex. The WebPI package is intended to use out-of-the-box when you don't want to perform any coding.
In your case it's quite tricky, though, but doable. The best approach would be to
Grab the full source as described here,
Grab the source from your server
Copy the files from 2. to src/Orchard.Web subdirectory found in 1. (overwriting any existing stuff)
Open up the /src/Orchard.sln solution in VS and add references to any custom modules you had on your server (2.) that are not in the Orchard core (1.). You will find those under the /src/Orchard.Web/Modules subdirectory.
I'd go with Piotr's answer, but if you just need to make some tweaks then the code from WebPi should work okay with WebMatrix.
I wouldn't use this solution for module development, but if you just want to tweak a simple theme or run the site locally then it's worked for me.

Deployment a web-site on IIS from another program

I developed a web-site on ASP.NET 3.5 SP1 platform. And additional I have 2 win services. My task is to build install package. I decided that Visual Studio install projects are not met my requirements. I design my own installer for this project, because I need to resolve many question and problem in install process. My problem: I need to deploy web-site into IIS, but I don't know how to do it easy. I found Microsoft tool as Web Deployment Tool, but I didn't find any documentation. And must I include this tool into my installer for deployment at destination customer? Another side I found SDC Tasks Library and it looks like a solution for me. But I saw many topics where people had problems and because the project was dead anybody couldn't help them. I know it is a long story... My question: how can I deploy the web-site from another program (I know that IIS versions have some differences and it is another headache), set a virtual directory, application pool (very important), a type of authentification and so forth ???
Thanks.
Use Wix for installers.
This article seems to cover what you want:
Automating Web deployment on IIS with WIX.

VS2005 Setup and Deployment with Sharepoint

i have project in C#, ASP.Net and SharePoint. i want to deploy it usung VS2005 Setup and Deployment tool (As i am not allowed to use any otther software). Can i deploy the Sharepoint part like webparts in VS2005. please tell me what steps i have to take for sharepoint.
All Suggestions are welcome.
Thanks in advance
In short using the VS2005 Setup & Deployment for deploying items to SharePoint is not recommended or not supported.
SharePoint by itself has it well know deployment way called SharePoint Solutions or WSP file. Almost all the items you will want to deployed to SharePoint can be done using WSP(this includes WebPart as well, not only webpart it will allow to add a safe control entry to WebConfig as well). As per your question you are not allowed to use any other tool. To create WSP solution you will not need any extra tool. You can create a WSP file just with notepad (ddf file) & makecab.exe (its avaliable in most of the windows OS).
If you want to make it life simpler try out WSPBuilder and to install the WSP to sharepoint you can use the STSADM command or SharePointInstaller I have been using these tools for past 3 years and they work like charm.
You also have another option of doing it in the Visual Studio just by installing this template VSeWSS version 1.2!

Resources