Setup project in VS2013 does not have C++ 2005 redistrbutable - c#

I have created setup project in VS2013 in the prerequisite section i have all the component related to 4.5 framework (lowest is 3.5 framework). One of my component needs C++ 2005 redistrbutable is there any way by which i can add it in prerequisite section

You can manually add the merge module from the windows sdk on the development machine.
Path would be C:\Program Files (x86)\Common Files\Merge Modules
Also you can deploy the couple of dlls of VC redist manually in your own installer (in local directory), please see link below.
https://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx
Side by side assemblies location.
C:\Windows\winsxs

Related

Dotfuscator - Windows Service

How to use dotfuscator to obfuscate Windows service?
We have created windows service application that includes multiple DLLs (custom as well as third party dlls) and we use installshield to create exe and we distribute the same.
We would like to know on how to start with obfuscate using dotfuscator.
As far as we reviewed, it looks like we will not be able to obfuscate the entire windows service exe and we will be able to individually obfuscate each dll. But not sure how to add these dlls while creating the service exe.
If someone can guide on how to obfuscate the windows service exe created using the install shield.
When we tried to all the exe file created using the installshield, we are getting the following error.
Invalid input assembly C:... . This is not a managed module. (C:...)
But when I tried a individual DLL it is able to obfuscate but the ouptut is in different folder. So we are not sure how to automated this entire process.
Environment: Visual Studio professional 2012, Dotfuscator version - 5.5.45x
We have not registered with Dotfuscator and we using the Dotfucator that is part of visual studio.
I work on the Dotfuscator team and am answering as part of my job.
It sounds like the EXE generated by InstallShield is not a .NET assembly, but a native executable. You can verify this by trying to open the EXE in a .NET disassembler/decompiler like ildasm and seeing if that also gives you an error.
I'm not too familiar with the way InstallShield operates when creating a Windows Service, but it sounds like you create the DLLs first, and then InstallShield takes those DLLs to create the installer package? In that case, you should run Dotfuscator after you create the DLLs, but before InstallShield consumes those DLLs. Then is it possible to configure InstallShield to use those obfuscated DLLs instead of the original ones?
With Visual Studio 2012 you have to run a Dotfuscator Project's build from the Dotfuscator Community Edition (CE) user interface (that you open from Visual Studio's Tools menu). Newer versions of Dotfuscator CE Visual Studio 2015 and Visual Studio 2017 can build from the command line interface once you've set up a Dotfuscator Project in the user interface. For automation, you could set up your build scripts to call this interface.

How to build a portable class library without Visual Studio?

I'm trying to build a portable library project on a TFS server and I've got the following error:
"The imported project "C:\Program Files (x86)\MSBuild\Microsoft\Portable\v4.6\Microsoft.Portable.CSharp.targets" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk"
It's true, I don't have a Portable directory in MSBuild/Microsoft on the server. I have it on my developer computer, so I guess if I install Visual Studio it will work but I don't want to. I've installed the build tools on the server, with all the available UWP features but I still don't have this Portable directory.
In general, your build server should consist of the same software configuration as a developer workstation. Install Visual Studio. It does not consume a license.
Just copy C:\Program Files (x86)\MSBuild\Microsoft\Portable folder to your build server. It's pity that build tools 2017 don't create these files automatically.
Have you tried to install just .NET Framework Developer Pack 4.6.2, the Build tools essentials from here, and PortableLibraryTools with /buildmachine switch?

Visual Studio 2015 SSIS - Custom SSIS component not picked up in SSIS toolbox

I'm having a problem adding a custom SSIS component to SSIS in Visual Studio 2015.
My system is:
Windows 8.1 64 bit
Visual Studio Community 2015 Version
14.0.24720.00 Update 1
Microsoft SQL Server Integration Services Designer
Version 13.0.900.80
(I've installed the SQL Server 2016 CTP3.2 so the version of SSIS is this version - this may be part of the problem and it isn't a fully released product and this may be a bug)
Microsoft .NET Framework
Version 4.6.01055
I've tried using assemblies from 110 and 120. I've added both dll's to the GAC, put them in the x86 and x64 folders (see below) with different strongly signed names.
110 assemblies
c:\Program Files (x86)\Microsoft SQL Server\110\DTS\PipelineComponents c:\Program Files\Microsoft SQL Server\110\DTS\PipelineComponents
120 assemblies
c:\Program Files (x86)\Microsoft SQL Server\120\DTS\PipelineComponents c:\Program Files\Microsoft SQL Server\120\DTS\PipelineComponents
I've researched this, but can't find any definitive answers to problems. People seem to ask questions, get some responses, and then there is no response telling anyone how to solve this problem as in the following post.
Visual Studio 2015 Integration Services project does not pick up my custom SSIS component
The only difference from the original post is that I'm using SQL Server Data Tools Preview (December) for Visual Studio 2015, but that shouldn't matter should it?
I've tried changing the assemblies referenced in the project. After trying my own code I found the following page that describes how to start building a custom SSIS component and without doing to much work build it, add the dll to the GAC and to the appropriate DTS folder.
Developing a Custom SSIS Source Component
What would be really useful would be to develop an installer that picks up the system settings, installs to the GAC, and copies the dll to the correct folder for it to be picked up by the SSIS Toolbox. It's almost as if Microsoft want to make it as hard as possible to create and install new SSIS components.
So questions that I have:
1. What version of .NET should I be using for an SSIS component in Visual Studio 2015?
2. What version of the gacutil should I be using (I've heard this matters)?
3. What folder does the dll need to be put into to be picked up by the SSIS toolbox.
4. Should I put the dll in the x86 or x64 folder? My system is x64, but the Visual Studio exe is an x86 executable so I'm guessing the x86 folder is the correct one.
5. Does it matter if I put the dll in multiple folders?
5. Has anyone actually managed to add a custom SSIS component in Visual Studio 2015?
Any help or comments would be much appreciated.
Matt
OP's Comment, converted to answer:
Ok, I've finally managed to work this one out:
I used the .NET Framework 4.6. I made sure that I added to the gac using the gacutil.exe in the following folder: C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools and I copied the dll to the following folder: C:\Program Files (x86)\Microsoft SQL Server\130\DTS\PipelineComponents
After refreshing the SSIS toolbox the component now appears in the Common folder/subsection.
I hope this helps anyone else who has had this problem.
– mattp Jan 31 '16 at 2:14

Why the version tab is missing for some .exe files?

My software project includes a set of .exe files, developed and compiled using visual C++ 6.0 SP6 and Visual Studio 2008 (C#). My builder (Finalbuilder) updates the version info of the projects automatically and then compiles them. I wonder why some of my .exe files are missing the version tab in the file properties dialog (right click on file -> properties). This tab is essential for deployment, because my colleagues should check the version before deploying them. I am using Windows XP SP3 for development and deployment.
The version info is a resource and no .exe attribute i think. So check if you really attached that resource.

C# - Visual studio - Publish prerequisites error

I have an application that uses .net 3.5 (created in C# - Visual Studio 2010). Application runs fine, but if I try to publish and set the prerequisites to use the same location as the application I get this:
Error 2 The install location for prerequisites has not been set to 'component vendor's web site' and the file 'DotNetFX35SP1\dotNetFX20\aspnet.msp' in item '.NET Framework 3.5 SP1' can not be located on disk. See Help for more information. Aplication
I have the framework installed and also the kit but I guess I have to put some files somewhere... but I don't know where.
Can any1 help me?
According to this page:
The reason is that we shipped the .NET
Frameworks 3.5 SP1 package as Homesite
Only, i.e. only supports "Install
Prerequisites from Component Vendor's
Website". We did this to keep the
size of VS 2008 SP1 from being too
large.
We did put info in the SP1 readme on
how to get the files put on your
machine to enable the samesite
scenario. Look for "Enable Samesite".
http://download.microsoft.com/download/A/2/8/A2807F78-C861-4B66-9B31-9205C3F22252/VS2008SP1Readme.htm

Categories