The components for communicating with FTP servers are not installed - c#

I have a WPF C# app (.Net Framework 4.5) which I regularly updated and published to an FTP server using ClickOnce (every few months). Now, when I want to publish it to the FTP server, it fails with the following error message: The components for communicating with FTP servers are not installed.
Searching the web and StackOverflow, I read that in some cases Xamarin prevents publishing it, so I uninstalled Xamarin (as advised), but the problem persists. I also tried to publish locally and then manually copy the files to the FTP server, but then Windows Defender blocks the installation for the user. I also updated Visual Studio Enterprise to the latest version (Update 2).
It seems this issue has been there for quite a long time (one, two, three). Does anyone have an idea how to solve the issue, or what else I could try?

kurtdv on MSDN suggested to install the 32-bit version of Visual C++ Redistributable Packages for Visual Studio 2013 from https://www.microsoft.com/en-us/download/details.aspx?id=40784, which solved my problem.

Related

Scripts disappearing from package when deploying

Recently I tried to deploy SSIS packages on our production environment and after struggling with some errors I checked contents of packages by importing them from server(not from deployment file) into SSDT. What I found was really interesting - C# code from Script Task(we got only one script task) was gone, there was only template code even with comments that you see when you add Script Task to your package, it looked like it wasn't ever edited by anyone.
I asked my colleague if he could deploy same project on same server instead of me, and it worked, code was on it's place and everything went smooth from there.
What may have caused this behavior? We both are server admins, we both have sysadmin permissions on SQL Server and we don't know about any permissions that he has and I don't.
EDIT: We were both deploying same .ispac project deployment file, none of us edited it after it was "production ready". We also deploy it in the same way - double click on .ispac file, and using Integration Services Deployment Wizard.
Packages are prepared on different server.
I have experienced a very similar problem. A previous post existed which may have been subsequently removed, but I can attest that the process script task in the SSIS packages are being replaced with an empty or default Task. I suspect an incompatibility in versions or a dll found in the SQL Server\120\DTS\Binn directories.
We currently developed using Visual Studio 2013 Professional with SSDT integrated into it (did not use the shell or standalone version). Development took place on a Windows 7 Enterprise 64-bit machine with SP1. All testing was fine locally using SSDT. When deployed to the server, testing worked as intended. The server is where I believe the problem is originating. We deployed to a SQL Server Enterprise Edition running on Windows Server 2012 R2. Microsoft SQL Server 2014 (SP1-GDR) (KB3194720) - 12.0.4232.0 (X64). The ispac was generated from an export in SSMS in the SQL Server Integration Services Catalog. The ispac was then deployed to another site.
Turns out the site had deployed this to a SQL Server Developer 64 Bit instance. Theoretically, this should work, but when importing the deployed project back into a Visual Studio SSDT standalone instance (not embedded in Visual Studio Professional) at this site, all the Process Script Tasks were replaced with the default instance of a Process Task.
When reproducing the scenario in-house, on a SQL Server 2014 Developer 64 Bit as the deployment site, and then importing it back into a new Visual Studio SSDT project, the Process Scripts are indeed replaced. When creating a new Visual Studio SSDT project and importing them from the Enterprise Edition, the Process Scripts are all there.
For us, it seems to be a strong correlation between the SQL Server versions, or the fact of them being different.

How to properly resolve Can't find PInvoke DLL 'sqlceme35.dll'

Disclaimer: I am a total noob when it comes to anything .Net, but I have to get stuck in for a project I'm working on.
I see there are already some posts on this here, but no complete answer on how to resolve this. I get this warning:
Can't find PInvoke DLL 'sqlceme35.dll'
when trying to deploy to a Windows Mobile 6.5.3 emulator from Visual Studio (I'm coding in C#). I am obviously using Sql Server CE for the application. I see it deploys just fine to emulators running older versions of Windows Mobile (namely 5.0).
Could anybody please explain this?
sqlceme35.dll is not part of a standard Windows Mobile SDK installation and needs to be installed separately (see https://www.microsoft.com/en-us/download/details.aspx?id=8831) and deployed manually (copy and install CAB file from your PC after install, see https://msdn.microsoft.com/en-us/library/13kw2t64%28v=vs.90%29.aspx).
In your case you need to install the cab files from the wce500 subdirectory. ( "drive:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wce400 or wce500\CPU architecture type").
Although the site https://technet.microsoft.com/en-us/library/ms172361%28v=sql.105%29.aspx states that SQL Server CE runtimes will be deployed automatically, this is not always the case. So best is to manually install the runtimes before running an app that depends on them.
C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i
Get the following cab files:
sqlce.wce5.armv4i.CAB
sqlce.repl.ppc.wce5.armv4i.CAB
sqlce.ppc.wce5.armv4i.CAB
sqlce.dev.ENU.wce5.armv4i.CAB
Install those onto the Program files directory of your pocket pc. Once they are installed, you will then see a folder called "Microsoft SQL Server Compact Edition". It will have the dlls that your application uses.

C# application report with msvcp120_clr0400.dll [duplicate]

I just installed Visual Studio 2015 Community on my computer. Until now I have been using Visual Studio 2010 Professional. Now when I try to run my MVC apps in the build in web server, I get the following error message.
The procedure entry point __CrtGetFileInformationByHandleEx could not be located in \WINDOWS\SYSTEM32\msvcp120_clr0400.dll
I get the same error message if I try to execute vbc.exe (the Visual Basic compiler) on directly at the command prompt. My MVC app also shows a YSOD with
Compilation Error - Compiler Error Message: The compiler failed with error code -1073741511.
How can I fix my VS so I can run my programs again?!
Steps I've tried
Uninstall VS 2015 Community
Uninstall and reinstall .NET 4.6 and .NET 4.5.2
DISM /Online /Cleanup-Image /RestoreHealth
The .NET Repair Tool
Run sfc /scannow
Manually rename the msvcr120_clr0400.dll file to msvcr120_clr0400.dll.corrupt and do 1-5
Uninstall and reinstall VS 2010 w/ SP1
sfc /scannow successfully replaced the msvcr120_clr0400.dll file, but it replaced it with the exact same CTP file as before!
EDIT:
The problem dll's from my system are available for download here:
32 bit
64 bit
32 bit msvcr
64 bit msvcr
Microsoft is aware of this issue with KB3098779 and 3097997:
https://support.microsoft.com/en-us/kb/3118750
The recommendation is to uninstall these patches and then rescan for updates. Newer versions of these security patches (that do not break the VB compiler) are now available.
Okay, I see it from the files you uploaded to the sharing service, your .NET install is corrupted. A standard DLL Hell problem, your c:\windows\syswow64\msvcr120_clr400.dll file is the wrong version. Something you can see when you use Explorer and navigate to the file. Right-click and select Properties, look at the Details tab.
Note the word "CTP" in the Product name, means "Community Technology Preview". A Microsoft term that means "beta version". Clearly you should not be having the VS2013 beta on your machine. Your msvcp120_clr0400.dll is correct, it is file version 12.0.52512.0. It depends on an exported function in the msvcr DLL that the CTP version did not yet have.
Exactly how this happened is always hard to reverse-engineer. You are the 3rd SO user that I know of that had this problem this week, a bit too much of a coincidence. Two basic scenarios, if you ever had the VS2013 CTP edition installed on the machine then the problem is that it didn't get updated like it should have. Otherwise a very typical problem with CTP editions, they are pretty dangerous because the uninstaller is always the last thing Microsoft gets right. And the problem was just never detected until you started using a program that required this export.
Or it was caused by a rogue installer, copying the old version onto your machine without checking the version number. Much less likely, installers never have a good reason to install this particular file since it is only ever used by the .NET Framework. My money is therefore on your machine getting corrupted by the CTP.
You need to solve this by getting your machine fixed. Not that easy, you can never be sure how many other bad DLLs are lying around from such a bad CTP uninstall. A shortcut is copying this particular DLL from a good machine. But best to get .NET 4.6 re-installed.
EDIT from OP:
This answer correctly identified the problem files but reinstalling (or any other common steps) didn't solve it. In the end I copied "good" files from another computer with the version number 12.0.20806.33440.
KB3098779 appears to be the culprit on our server. That is the patch that installed the rogue CTP msvcr120_clr0400.dll mentioned in the above answer.
Solution: we reversed out the patch set that applied KB3098779, and everything is working again.
FYI: this is a .NET framework 4+ issue, not Visual Studio. Our server is a standard 2012 IIS server: Visual Studio is not installed.
I had the same issue on Windows 8.1 although KB3098779 and 3097997 were not installed on my machine. Probably it happened after installation of ASP.Net 5.
The issue was that I had both mcvcr files in version 12.0.51670.34230 while mcvcp files were already in 12.00.52512.0. It was enough to copy both mcvcr files (from System32 and SysWOW64) in this version from my colleague's pc.
If you have problems with permissions set to TrustedInstaller on these file, you can run this powershell command and then change permissions as Administrator:
takeown /A /F C:\windows\syswow64\msvcr120_clr0400.dll
Microsoft have issued a notice on this.
https://support.microsoft.com/en-us/kb/3118750
As others have pointed out too many people in too short a time to be a coincidence. Not a VS issue, this is to do with a bad update from Microsoft.
The info from MS mentions two security patches (KB3098779 and KB3097997).
I have uninstalled only KB3098779 and my site is up was up and running. It required a machine restart to complete
KB3097997 uninstalled without a restart. I maybe didn't need to uninstall but seems sensible given it is also subject to the same notice from MS.

Lightswitch 2012 and Windows XP

i finally finished a proyect i was requested in my university with Lightswitch. Im ready to deploy (publish) next week, and i was JUST told that the people that will recieve the software, are using XP machines. I've read a lot of questions and lots of fixes, to get Lightswitch working on Windows XP, like:
Changing the DumpBin with "editbin vslshost.exe /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1"
deploy it as a desktop application with the services deployed to IIS (i dont think this will work because those are really old pc's)
install all the prerequisites manually and launch the ClickOnce application directly from deployment manifest file (.application)
create a sample ClickOnce application using Visual Studio 2010 OR Visual Studio 2008 with the same name as mentioned in Visual Studio 2012 and publish it. From the published location take the setup.exe bootstrapper and replace the existing setup.exe bootstrapper created using Visual Studio 2012
With all of this workarounds available, i NEED to ask, will this ultimately work? Can someone REALLY tell me that using one-or-all of this workarounds i WILL be able to deploy the application!?
Someone?
The 2-Tier Deployment issue on XP was also addressed in VS 2012 Update 2 IF you upgrade to a "V3" LightSwitch project by right-clicking on the root project in Solution Explorer and selecting "Upgrade Project". This updates the project to the "V3" project system, runtime and will use a much newer publish wizard. The version of VSLSHOST.exe that ships with VS 2012 Update 2 is compatible with XP.
Dave Kidder - LightSwitch team
http://social.msdn.microsoft.com/profile/dave%20kidder/
I have a successfully deployed application using the 3-tiers running as an out-of-browser (desktop app) on XP. Initially I was going to do the 2-tier deployment, but I was unable to get a workaround to work.
So I have one server, which runs IIS as well as my SQL server (OS is Windows Server 2003, but doesn't have to be.)
The client machines range from Windows XP to Windows 7, and I haven't had any special problems with windows XP.
So I can definitely say XP will work as a client. I was unable to get it to run the middle tier (hence IIS on the server) but I didn't try every last idea I found, so I won't say it's impossible.
The two links I found most helpful in the process were
http://blogs.msdn.com/b/bethmassi/archive/2011/03/23/deployment-guide-how-to-configure-a-web-server-to-host-lightswitch-applications.aspx
and
http://blogs.msdn.com/b/bethmassi/archive/2012/03/29/lightswitch-iis-deployment-enhancements-in-visual-studio-11.aspx
Hope that helps.

How to make my project runnable on any system?

I have developed a solution in Visual Studio 2008 C# WPF!
I'm using a service-base SQL database (I've created and managed using Microsoft Visual Studio Sever Explorer), now I'm going to publish it but the problem is that when I install .NET Framework 4.0 and SQLEXPRESS 2005 on other systems, my application doesn't launch! :-(
What componenets should I install on the systems to make it runnable?
If you develop with Visual Studio 2008 you will probably need to install .NET Framework 3.5 with Service Pack 1.
If that is not enough you need to post the error you get. Probably in the eventviewer you will see more info.
You can try to create a setup using Clickonce. To do this you need to go to the property pages of the WPF project an go to the tab Publish.
There you can choose to publish it to the network or to a local directory which can be put on a CD or USB device. The most important thing for you to check is the button "Prerequisites".
I hope this helps!
EDIT to help with the comments:
It is perfectly possible to put the prerequisites in the same folder as the install or even better in a fixed network location as you can see in this screenshot below

Categories