How to create SharePoint 2010 Installer/MSI - visual-studio-2010

I have developed a sharepoint 2010 visual webpart application with multiple visual webparts using visual studio 2010. I am able to deploy it successfully to Production server using commands given below:
Add-SPSolution c:\sp\MySampleProject.wsp
Install-SPSolution -Identity MySampleProject.wsp -WebApplication https://MYURL -GACDeployment
In my visual webparts, I am referencing some of the sharepoint custom LISTs and doing add/update operations with list items. Now If I deploy the webpart manually using the commands above, I also need to create all of the reference LISTS at production server. For this what I do, i just take list template to production and replicates the list structure to production.
Is there any way, I could create a auto installer(EXE SETUP or MSI) that should be able to create all the lists as well as deploy all of the webparts to production server. I know this can be done, as whenever we purchase some third party webparts from other vendors, they provide us MSI or other executables that we just execute, and it does everything for US. But I am not sure how to do it. What tool they use to develop these kind of installers.
Any HELP or suggestion ? ?

CodePlex may have the utility you need. Microsoft doesn't provide an out of the box solution that I'm aware of. From the looks of it, this may be what most 3rd party developers use as well
http://sharepointinstaller.codeplex.com/

Your feature should be creating these dependant lists/list items on activation, then add the web part to the gallery. This is exactly what feature activation is for!
In reality, I would have them as two features (both scoped to the site collection level). One feature creates the lists/list items, and the second deploys the web part. The second would be dependant on the first. The first one could be a "hidden" feature if you wish.
Whether or not you remove those lists on deactivation is up to you. There's good arguments either way.

Related

Visual Studio third party plugin creation

So as I sit here pondering this idea that I have, I am curious on where to even start if this is possible. I work for Salesforce (specifically supporting the Marketing Cloud application - a web app). We have several publicly available API's (SOAP and REST) for third party integrations to take place and impact data within the Marketing Cloud environment. So, to keep this on a simple level and not go into detail around the Marketing Cloud, is it possible to somehow write a sort of plug-in for Visual Studio that will, upon certain actions in Visual Studio, make API calls to a third party (in this case, I'm talking about Salesforce Marketing Cloud). My end goal is for Visual Studio to be able to initiate a custom action (API call to a third party) whenever a certain action happens from within Visual Studio. I hope this makes sense! Where would I start with this if this is possible?
Not sure if this is for VS or VS Code, will assume VS Code as it is compatible with both Windows and Mac.
What you're asking for should theoretically be possible because of the structure of the Electron app which VS Code is built on. Also it useses NodeJS.
I'm a Mac user, but when I used VS Code, I found this tutorial helpful for getting started:
https://www.youtube.com/watch?v=qV0e7LSQOIE
Also the docs are pretty helpful too:
https://code.visualstudio.com/docs/extensions/overview
And there is this little boilerplate I found online too:
https://github.com/mrmlnc/vscode-plugin-boilerplate

Visual Studio Online Dashboard for Multiple Projects

I'm having trouble figuring out whether this exists.
I've got multiple projects in Visual Studio Online, and each one of these has its own dashboard where you can add widgets to see useful stuff like build progress.
I'm wondering whether I can use one central dashboard to see this information for all of my projects, but I can't find it. Anyone had any luck?
The short answer is no. In TFS (and VSTS) you have Collections (accessible in TFS but not accessible in VSTS), then Team Projects, then Projects/Repositories. In TFS OnPrem you can do some 'magic' to build queries that cross the Team Project boundaries but it's not supported or even recommended.
If you are looking for a way to have information about multiple Team Projects, for an OnPrem version of TFS you would use SQL Report Server. This option is not available with VSTS so your only option is Power BI.
This is exactly the use-case for Teams. Teams allow you to, within a single team project, manage and report on multiple simultaneous development efforts, including reporting across team boundaries and in aggregate. The current recommendation is to keep everything contained in a single team projects and use teams instead.

How to restore the sharepoint list data after deploying project solution again?

I have an Visual Studio 2010 empty sharepoint solution project. Solutions consist of several custom lists and workflows attached to that lists. The solution always changes, so it means I'm redeploying the solution very often. After deploying it deletes all of the content from the existed lists and recreates that lists again. Now I'm considering the ways how to solve the problem of disappearing of the data, are there effective ways?
p.s. I cannot use lists created in UI, because I need custom defined lists.
You cannot prevent visual studio from deleting and creating lists, it is by design to ease development.
During my SharePoint development I've found some workarounds:
1) Put all list instance artifacts in separate project and do not redeploy this project. You can have other project with web parts, workflows etc which you can redeploy.
2) If you change only code and not any SharePoint artifacts then you can use some useful features of wspbuilder exteinsions - it adds custom "WSP builder" option to "Tools" menu. It allows you to deploy your assemblies to GAC without redeploying wsp packages and restart IIS and Timer Service.

Create a Sharepoint site populated with default settings for an existing team project in TFS 2012

Has Microsoft addressed the difficulty of creating a SP site after creating the Team Project in TFS 2012? I am aware of the methods outlined here, but I was hoping they had come up with something slicker in the new version. If not, does anybody know of a better method or tool than the one suggested in the previous link?
The TFS Power Tools has a command tfpt addprojectportal that will create the SharePoint site for you after the Team Project has already been created. You will need to know process template that was used to create the team project. You will be able to find all the options you need for the command by using the /? switch.

Attach and configure ms sql server database using installation package

i have some Db steps (attach database, adding and configure a new login, configure roles) and i want to automize it using installation package. Right now in project we are using standard Visual studio installer. Can i implement db steps using standard visual studio intaller (custom actions or something else)? Or maybe i should use some others installers like Install shield, Wix?
As far as I know Visual Studio setup project doesn't offer this functionality out of the box (although, my experience with it is tiny). Also, it is not a good idea to implement it all from scratch in a custom action - it is really the last resort.
Other vendors, at least those you mentioned, do offer this. if you decide to move to one of those, keep in mind the learning curve, which will take some of your time (for WiX is probably more). However, if the VS setup project is quite small and simple, it might be a good idea to move at this point, considering the fact that VS setup project type was deprecated by Microsoft.
For DB configuration you may create SQL script which can be installed with an application or into temp directory and feed it to whatever consumes sql scripts in mssql (in oracle its sqlplus). Not sure about visual studio but that's how I saw in one project for InstallShield.

Resources