Creating an add-in installer for Excel from dll files - c#

I created my Excel add-in using C # and Visual Studio. But how can I install it on another pc? There are only dll files in the release folder. How can I convert them to an installer or other file?
Am I missing something? Perhaps somewhere in the visual studio itself there is an opportunity to create an installer or another file that Excel can install.
Release Folder

First option:
If the issue is only to deploy files to a specific location in another PC,
I think that the option of "Inno-Setup" installer will be helpful to you.
https://jrsoftware.org/isinfo.php
Completely free for use
Very intuitive
An existing wizard for creating an installer from scratch
Much easier option:
Use winrar Self extracting archive:Example
It will allow the user to select installation location and deploy files.

Related

Excel DNA Distibute with Azure possibly

I have built an Excel Add In using Excel DNA and C#. I am able to build the app thru Visual Studio 2017 by setting it to Release and build. As of now, I distribute the excel add in by going to the release folder and copying the .xll file and pasting it to the users add in path on their machines. This process works but as you can tell not really professional. In addition, I am also using Azure to host winforms applications. My question, is what is the best way to distribute and possibly install the .xll file on users machine. (The install is really copying over the previous .xll file). Can I use azure to do this (Just hold the .xll file)? Or do I need to go thru Jenkins or similar type application.
A common approach to deploy Excel-DNA add-ins is by creating an installer that gets downloaded and run by the user.
https://github.com/Excel-DNA/WiXInstaller
https://jiripik.com/2017/02/25/use-advanced-installer-excel-dna-project/

How to copy Microsoft dlls into my NSIS installer

I am making an installer using NSIS and my gameplan was to
Build the startup project
Copy the Files created from the bin/(x86) or bin/x64 folder and embed them in the installer
The problem is that some files do not get included. From what I have seen, these files are exclusively Microsoft dlls. Does anyone have any ideas on how I can include them?
My idea is to parse through the csProj file and loop through every file on the Item-Group -> PublishFile node, check if it is in the bin subfolder, if it is not,embed the file in the installer.
Is there a simpler/better way to do this? If not, is there atleast a class(perhaps a DTE class) that represents the contents of the csProj file so I wouldn't need to parse xml? I have looked around and I couldn't find any.
From your original post what I can understand is that, you are building some sort of C# application and want to build a installer for the same.
Now why do you need to pack Microsoft Dlls?
Microsoft do provide every redistributable packages to be installed on end-user computer. You need to analyze what are the packages you need when running your application on a computer that doesn't have Visual Studio installed.
I think you only need .Net Framework and SQL redist packages. And these things can be installed silent during installation. And this is the proer approach.

Deployment issues regarding some resources

I am having a issue regarding my deployment of my software in Visual Studio 2012. First of all I am not able to install the "InstallShield Limited Edition" through VS12 so I am currently testing out Advanced Installer instead.
Mys issue comes due to the fact that in my program I am fetching a .pdf file and modifying it and later on showing them to the user. These PDF:s is in the programs resources folder but does not follow with the installer, so my application crashes since it cannot find this. The same is for my .chm file (help file)?
My customer is using XP and when I try to publish the software directly from VS12 it works on my computer, Windows 8, but not on his computer. The application won't even start for him.
So how can I deploy my pdfs to the installer file, or why is this not accomplished already?
It seems that the PDF and CHM files are not imported automatically in the project. What type of project have you created in VS?
To add those files in the setup use the "Edit in Advanced Installer" button from the Advanced Installer VS extension and go to Files and Folders page. There you should add the two files in the desired folder and save the project.

Delete specific files after installation using visual studio setup project

I have this problem. I want to build an installer for my c# solution, that will be placed in a folder with other installation folders and files that are needed to be copied to the installed folder. So that is easy, I just copy them to the folder I create using the folder structure I want.
Now, I want also to install another program and run a .exe file I've created to unzip some files for me. For that I need to copy 2 .exe files and 2 dlls (for the exes) to the folder to which I am installing and create 2 custom actions that will use them. That I've managed to do.
After that I want to delete those 4 extra files, as the user does not need them and shouldn't even be aware they are there. How to do so? I couldn't find a way in the built in setup project preferences + I do not know how to make a custom installer class.
A bonus question, is how to make the other installer (one of the .exe files is just a plain installer) install quietly to any path? I do not want the user to see an installer pop out of my program installer.
Thanks!
Some commercial setup authoring tools support temporary files. They are extracted when the installation starts and automatically removed when the installation ends. They are never registered with Windows Installer.
You can find a list of setup tools here:
http://en.wikipedia.org/wiki/List_of_installation_software
Regarding the prerequisite, it depends on its setup package. You can install it silently only if it supports this through its command line.
Don't. You will get a ton of problems with Windows Installer trying to automatically repair your applications and such things. You might be able to solve the problem with a more advanced installer creator, such as WiX.

(msvc# express) publish c# project to include a file (e.g. .MDB, .XML)

My app needs to open an Access mdb file and an xml file (which are stored in bin\Release) to read and write data. The question is, if I am to publish it, how should I include them so that the setup file will install them into the same folder that the exe will run from (Local Settings\Apps\2.0(...))?
I already tried adding them to the project but then they ended up in the next folder to the one containing the exe.
Alternatively:
If I can't with vc# express, is there another way to do this (through a 3rd party software maybe)?
Thanks :)
http://wix.sourceforge.net/
WiX - Windows Installer XML is an OS tool you can use to build an installer you can tell it where to put each file and create folders, etc.
Visual Studio Standard Edition and up also include a built-in designer for creating installation files that can do what you're asking for. If you want to stick with Express, WiX is probably the better choice, though.
Try using InnoSetup. Its great for Access application installers .

Categories

Resources