Upgrading WSP using Powershell - sharepoint

I've run the Update-SPSolution command which I am guessing has worked as I have no errors returned. However, my extra feature in the WSP file doesn't show in the site collection features.
I've never really upgraded a solution I've always done the long winded retract it all and then reinstall. This is possibly down to my lack of understanding and I have been told upgrading can be sketchy by several people I have worked with.
How come the extra feature hasn't shown up in my collection features?
Does the upgrade solution only replace the WSP file and then you need to run the install command again?
If anyone could point out some decent articles on this it would be hugely appreciated.
I have managed to get the feature installed by re running the install solution powershell command and it seems to have worked!
However is this best practice? I can't see any detrimental affect of doing it this way currently!

You would need to run the Install-SPFeature command after the Update-Solution to install the newly added feature. http://technet.microsoft.com/en-us/library/ff607825

From my experience I use Update-SPSolution only when I need to deploy an updated dll for the whole existing solution (wsp).
If you updated other files or added a new feature then these changes will not be available, as update doesn’t instantiate manifest file to make your new feature available.
To "really" update solution you need to write an "UpgradeActions" as described here.
http://msdn.microsoft.com/en-us/library/ee535723.aspx

Related

"Fody not properly installed" error exception. (Xamarin.forms)

I'm making app with using Xamarin.forms. (PCL Project)
Today, I added new three solution packages named SVG.Forms.Plugin.Abstractions, SVG.Forms.Plugin.iOS, SVG.Forms.Plugin.Android on workspace that downloaded from github.
I have used realm for Xamarin.
But After I added new packages, "Realms.RealmException has been thrown".
Message is "Fody not properly installed. allbX.Baby is a RealmObject but has not been woven."
Is it Fody's problem or Realm's or new packages'(SGV Control)?
And could you let me know how to solve it?
Better Answer
The check which is delivering that message is because Fody is not running.
So, they may have a RealmObject in their component but Fody doesn't get run building in your solution so weaving doesn't occur.
The easiest fix is to just use NuGet to add Fody to your main application project. That should install it in the right place for the solution.
Background
NuGet manages dependencies so if a package relies on Realm, it will go on in turn and install Realm. Realm itself relies on Fody, for example, so will in turn trigger a Fody installation.
You can manually install Realm but it is a little fiddly, having to add a couple of lines to your csproj to specify imports. We have chosen to only document installation via NuGet at this stage.
If you want to manually add Realm to another solution without using NuGet, I suggest you take a new clean solution, save a copy, and diff with the changes made to that solution by adding Realm via NuGet. You will then see the lines to copy into your existing solution.

Is it possible to make Visual Studio call npm install when an updated package.json is downloaded from source control?

I know that when I manually update the package.json file, VS will run an npm install. However, if someone else updates it and checks it into source control, when I download it, npm install doesn't get called. I have to either save package.json (even if I don't make any changes), or call it myself from a command prompt. It will be really frustrating if we have to communicate to the entire team that they each need to perform some action after getting package.json, any time a change is made.
Is this just a missing feature in Visual Studio, or am I missing something that would allow it work as expected?
Our project is still an old Webforms project (Yeah I know. It's not by the dev team's choice.), so it doesn't have the Dependencies node in Solution Explorer. I realize this might be the problem, and it would possibly all work correctly if we were using an ASP.NET 5 MVC project. However, saving package.json does launch npm install, so the basic support still works. So, if that is the problem, I'd like confirmation on it.
I tried asking this on the VS forums also, and only got a response from a single MS CSG who obviously didn't understand what I was asking. I got tired of the frustration of trying to explain it to him, and dropped it. Since no one else responded, I'm assuming the answer is that it's not possible.
I've created a UserVoice suggestion for it, and suggest everyone that has votes avilable to upvote it.
I have noticed that it does call npm install when you open the solution file (and probably when opening just the project file, although I haven't tried that). That's a little better, but since I usually leave VS open and just hibernate my computer at the end of the day, I don't actually open the solution/project file that often.

Setting up Umbraco project with nuget in vs 2012 error

I'm trying to set up a development project in vs 2012 with nuget and Umbraco. I am aware of the several recipe's, amongst the better Umbraco for beginners: Setup Umbraco on localhost together with VS 2012 and uSiteBuilder.
When I am using this procedure I install Umbraco with nuget and build it without problems, but when I hit F5 I get the same error continously: "Could not load type Umbraco.Web.UmbracoApplication" which global.asax inherits from!
What is wrong, what am I missing here...? Thanks in advance /Finn
A bit late, but I had the same problem and the reason for that are missing dll's. Referenced libraries weren't copied to bin folder.
It is not the best or easiest way of setting the project up.
Instead of creating a WebForm project, create an empty MVC4 project and then install the Umbraco CMS from NuGet. This way you won't have to remove anything. It will also by default use IIS Express, so there is no need to change the project properties.
You don't even have to use the NuGet console. You can use the package manager and just search for Umbraco.
Well it seems like an unprofessional oversight from my point! I just forgot to give security access to the relevant folders to network service.
You might have to build and clean the solution a couple of times if you get exposed to the YSOD error: "Cannot create/shadow copy 'filename' when that file already exists" when you hit F5! This error might occur if you hit F5 too quickly after a build, in this case asp.net is probably not finished with whatever it has to complete, and the file is locked.
#Digbyswift: I do not agree with you! Whether you set up your project as an MVC or Webforms application, it doesn't matter. What is important though, is that you use empty applications, as if you don't there will probably be some references/dependencies that you have to delete in order to get the application running! And default server will be the vs dev server, which in my opinion is by far the best and easiest to use untill you are ready to deploy your application. I agree thouhg that using the package-manager from visual studio is the easiest way to come around installing Umbraco.
Following these steps and hints you should use no more than a couple of minutes from installing Umbraco untill you have the wellcome screen and is ready to set up db etc...
Cheers Finn...

NuGet: Difference in behavior between Update-Package and nuget.exe update?

I'm using NuGet to create a 'web framework' package containing code, master pages, css, javascript, etc.
In an attempt to speed up the build / test process I'm running nuget.exe update packages.config but I've noticed that it behaves differently than the package manager console's Update-Package command.
nuget.exe update seems to leave the previous version of the package still installed, resulting in multiple versions of the package installed. This usually doesn't cause problems but the Package-Manager Get-Package command shows many versions installed and sometimes the project will fail to build.
Update-Package actually uninstalls the package then reinstalls it, this is cleaner but slower
My questions are:
1. Is there documentation about the difference / relationship between these commands
2. Is the nuget.exe update behavior of installing multiple versions a bug?
3. Is there a better method for creating a package in one project and updating it in another project in a fast & automated manner?
Unfortunately, there's not much official guidelines or documentation except from piecing together forum and work item threads.
Current package manager console behavior was first included as a result from discussion in this thread, which later derived in a work item (sorry, apparently not enough rep to post more links).
However, as others already noted, behavior is not consistent with nuget.exe, where there's no such switch.
So, in answer to your questions:
VS Package Manager Console and nuget.exe do have different behaviors and seem to be updated independently (which is very unfortunate).
nuget.exe update behavior of installing multiple versions side-by-side has been a design feature from the start, as you can find from a comment on David Ebbo's blog about NuGet command line (again, I would have given you the link, but SO still doesn't trust me).
Unfortunately I haven't found anything about using package manager console cmdlets during build. What you could try is manually deleting all folders with your packageId on a build event and then packaging and installing using nuget.exe. Essentially replicate what Update-Package does manually, since as David Ebbo says, the way you uninstall a package through the command line interface is by, well, deleting the folder (again, can't post a reference, this is a bit annoying...)

how to make a check for update option in python

I have a remote operations tool made in python and I have distributed it to my friend and he is using it good.
Now, whenever I add a feature to my app i would have to text him the link of my app (manual update type thing) which is bugging for a while.
So is there anyway I could add a auto-update feature a.k.a. check for update to my application for a automated update???
I googled about this but I couldn't find anything related and so I am stuck
Thank you in advance
There is a library called esky in which if you freeze with it, it can check for updates on a certain website, get a list of avaliable versions on a certain website, distribute patch files, and much more. check out here: esky p.s. I dont know if there is a version for 3.x though.

Resources