How do I distribute my program from a Visual Studio Solution? - visual-studio

I recently created a program in Visual Studio that I'd like to share with the world, up untill this point all of the programming I did was only for personal use so I have no experience preparing a program for release.
I found some information about building for release so I tried it but I ended up with 5 different files (3 of which are needed for succesfull execution):
the .exe file
a .dll file of the same name
a .pdb file of the same name (not needed for succesfull execution)
a runtimeconfig.json file
a deps.json file (not needed for succesfull execution)
I'd like to just distribute a single .exe file, like a portable version. Is this possible?

Related

Different build result

Even though I execute same msbuild batch file with same source code which is a solution of visual studio 2013, I get different files as result.
I'm using msbuild command batch file to make deploy files. One PC has installed DevExpress, and another PC hasn't, and those 2 PCs make different build files. PC without DevExpress includes extra dll files which are not even refered in solution. After I removed DevExpress, the results became same. But I don't understand why.
Does anyone know why this happened?

DLL testing in visual studio

Hi guys i'm new both to this site and to testing and i'm having trouble finding solutions to this problem.
My current project produces a .DLL file as its build and im looking to use visual studio to automate testing on it every time a new build kicks off.
To run the program a .exe must be triggered in the same directory as the newly created .dll this isn't a problem and wouldn't need automating except i need to kick of 16 different variations of it using different config files and separate machines on a physical network for each variation.
Is there anyway to do this using visual studio 2010 ultimate and MTM?
I have looked into generic testing but it runs the exe without moving the new .DLL to the working directory any ideas?
Thanks in advance.
I haven't used VS 2010, but I know in 2008, you can specify Post-Build actions in the project properties, that you could use to copy the output where you need it to go. I would give you more details, but I'm not at work to look at the interface at the moment.

Cannot include duplicate files in msi installer

I'm using Windows 7 64, VS 2013.
I'm trying to create an MSI installer that contains 2 C# applications distributed in 2 different folders, both folders are containing 1 DLL file that is the same. I am adding all necessary dependencies, everything seems fine, but after installing, one of the applications throws an error regarding loading of that DLL.
My assumption is that the VS installer project keeps the files in a common folder and when it sees the same file it automagically refers both application to use the same exact DLL.
My work-around for this problem is to rename the DLL when adding it into installer project and make a small .bat script that renames the DLL after installation. This works, but I'm guessing there's a more elegant way to do it besides having scripts run at install/uninstall time that will rename some DLLs.
Strictly speaking, Windows Installer has something called the component rules. One aspect of this is that a given file in a given folder can only belong to one component. The same files in two different folders would be two different components because a component can only define files for one folder.
WiX creates MSI and has a feature called smart cabbing where the file would be normalized when compressed into a cab and embedded into the MSI.
Visual Studio installer projects are of very low quality and will killed by Microsoft before being brought back to live as an add on. It has horrible dependency scanning and you are finding that the "automagical" behavior doesn't work very well.

How can I make an MSI file that runs all EXEs in its own directory?

Currently, our customer uses a Windows .bat file in order to batch-install a series of installers (currently .exe files produced using Inno Setup, although there are plans in the future to replace them with .msi installers) found in a directory.
However, they have requested that this be replaced with an .msi file -- it sounds crazy to me (as it doesn't actually INSTALL anything, merely search for external files already on the target machine and then run them) -- but presumably it is in order to take advantage of Windows Installers' logging functionality, as well as to prevent unauthorized tampering with the installation process.
Most of the stuff I've found on Windows Installer custom actions seems to refer to running programs installed by the MSI, not programs that were already on the target machine before the installer was run. What do I need to do to run already-existing files (in the same directory as the MSI itself) as part of an MSI's processing?
I'll accept solutions using either Visual Studio or WiX.

Visual Studio 2010 builds excluded files

We have some excluded files in a web application project.
One developer's machine builds the project fine.
Another developer's machine sees the excluded files and decides to compile them, therefore throwing compilation errors related to those files.
Both are using VS2010 SP1.
I am not aware of any compilation options that could cause this difference. Any ideas?
Do they both share the same .sln and .csproj file? (assuming its a c# project).
There is a compile cs content flag which can be set on files (right click on the file and select properties). Possibly one has one set on one machine, and the other dev has it set differently on a different machine.
Another issue (assuming its not just standard .cs code) is that there's a custom tool which is used for compilation. For example DevArt Entity Designer uses .edml extensions. If the tool isn't installed it just treats these files as content, if the tool is installed treats them as compilable/generatable.

Resources