How to run setup (*.exe) file with out using MSI File? - c#

Here I have successfully create setup using visual studio 3.5. On Debug folder in application I found (*.exe and *.msi file).
When I have take both file in same folder then it's work fine. But when I have take only (*.exe) file then it doesn't work.
I need to run (.exe) setup with out using (.msi) file. I required to send only *.exe to client.
Is there any way to wrap both file in to single file.
Thanks In advance :)

You have it the wrong way around! The MSI is the important but, the .exe is just a bootstrapper that calls the MSI. If anything you could just distribute the MSI.
See What does the EXE do in the Visual Studio setup project output?
It should be possible to create a bootstrapper that includes the actual MSI as an embedded resource, however I'm not sure how you can do this using Visual Studio.
If I were you I would either just distribute the MSI on its own with the instructions that users must have the .Net framework installed in order for the application to run, or combine up the two in a self-extracting zip (or similar).

http://hmne.sourceforge.net/
here you can find the HMsoft NISeditor, this program works as follows:
Run program
Choose setupname
add all .DLL and .exe files of your project
create the setup

Related

How to create an installer than runs a file after install?

I'm currently using Setup Project in visual studio 2015. It works well except I'm having an issue with a particular necessity. After the installer finishes I need to run my .js file that registers my server on my application. Currently with Setup Project if I add my .js file to the "custom actions" in the install folder, when I run the installer it runs my file halfway in the setup. This is no good because the server isn't ready to be registered yet. I need this .js file to run AFTER installation. If anyone experience with Setup Project can help me out I'd be so thankful. However if anyone knows a better installer maker that can do what I'm asking for I'd be very interested in that too. Maybe WIX could do this for me?
This appears to be exactly what you need:
https://www.codeproject.com/articles/15800/calling-javascript-from-a-visual-studio-installati
This will give you more info about installer project custom actions:
https://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup-projects-and-custom-actions/
Add an Installer class to your set up project in visual studio. you can override many stages of installation within this installer class
EX:
OnBeforeInstall()
Install()
OnAfterInstall()
You can override a relevant method and add logic within the method to execute the .js file.
You may have to get the directory where the MSI is being installed so that you can get the path of .JS file and execute it. following code should get the the installation directory. Add this code within the installer class.
string installationPath = Context.Parameters["assemblypath"];
Try the InstallShield 2013 with a limited warranty. It should be free for personal use, and it includes a functionality to run a script after the installation is completed.

Install Shield msi file installing to the wrong directory (error 1309)

I am using Visual Studio 2013/ISLE to create a C# program with a .msi install image. When I run install from VS the program is installed in the expected location, e.g. c:/Program Files (x86)/...
I'm sure that this is something simple but I can't figure it out. A pointers would be greatly appreciated.
When you run a 32-bit installer in x 64-bit system Windows will always redirect your installer writing to c:\Program Files to c:\program files (x86). If you want to install to the non-x86 folder you will need to provide a 64-bit installer for your application.
This blog post explains why Windows does this.
It looks like InstallShield LE will allow you to write to the correct folder when your project is set to AnyCPU, but for more advanced scenario's you'll need to use the Pro version or the free Wix installer.
I assume the question is why the installation MSI fails when you run it outside of Visual Studio, but works when VS launches it?
If yes, you should first check if your ISLE project is creating an MSI or an EXE bootstrapper (that also contains the MSI). If an EXE is created this is what you should launch manually, not the MSI. In theory, a bootstrapper can act like an initialization support for the MSI and specify default values for certain properties, like an installation folder, etc...
I say in theory because I am not very familiar with ISLE, I work with other setup authoring tools, thus cannot say for sure if this stands for ISE projects too.

Visual Studio 10 Application .exe and .msi in a single file

we are currently developing an application using Visual Studio 10 in C#.
After creating the setup project (Wizard) and building it we come up with two files: respectively msi and exe.
In synthesis I've read that the .exe file is a "wrap file" since it wraps the .msi file and basically after checking for the prerequisites it runs the .msi file. What we want is to deploy the application in a single file that both checks for prerequisites (we expecially need to install sql server compact 4.0, but it works just fine if we run the exe file) and installs them if they aren't available and installs the application itself as well (with the files included in the msi), because it makes it easier to distribute and more "user friendly".
Do you know any simple solution to achieve that?
Thank you guys in advance for the reply.
The most simple solution would be using a selfextracting .exe tool. IEXPRESS.exe is already included in Windows. There are of course some with more features.

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.

How do I publish a Windows Forms Application?

So I made a C# program, and its great and all (its a Windows Form Application). The issue with it, is I don't know how to use it outside of the debug mode form. How do I publish it? My target goal is to create a two folders, put a shortcut to the application in one, along with the other folder which will contain the application and all outside programs (some of the buttons link to batch files). Then I'd want to be able to put it in a RAR compressed file, and upload it online for others to download it.
How do I publish it so that happens? How do I take it out of debug mode?
Go into your project folder, then navigate to /bin/Release. If there's an EXE file with the title of your project in there, copy it somewhere (along with any DLLs that you may have linked) and there's your program. If it's not there, first try Build -> Compile Solution in Visual Studio. If it's still not there, navigate instead to /bin/Debug and do the same thing. Then, copy all your batch files into another folder, put them into the same folder, and RAR it.
P.S. Try not to use RAR, few people can extract them. Use ZIP or SEA (self-extracting archive) if at all possible.
First off, you need to build your application in Release mode, in Visual Studio simply change the drop down near the top of the window to "Release." This will create a bin/Release directory where your sources are located. The folder will contain an EXE for your application and DLLs you need to include. It could (and probably will) include some debugging *.PDB files that you do not want to include -- as those include debugging information.
Copy the contents of that directory somewhere and RAR it up.
Building in x86 Mode
(You should only do this if you have a specific reason to)
If your application uses 3rd party DLLs that are not 64-bit compatible, you may need to do a release build in x86 mode. To do that, click the "Any CPU" drop down and click "New Configuration" (or something like that) and follow the steps to add x86. Then build with the x86 -- Release setting. That will output x86 binaries to a bin/x86/Release folder where your sources are located.
The Preferred Soltuion
Most users are going to prefer some form of automatic installer instead of a simple RAR or ZIP. Visual Studio (Standard/Pro) can create self installing MSIs that do all the work for you. A basic overview is here. You can add shortcuts/etc using the wizards Visual Studio provides.
If you need an even more robust installer you could check out solutions such as InnoSetup or NSIS
To build your application in Release mode instead of Debug, go to the Build menu and select Configuration Manager.
Change the Active soluction configuration to Release. Now, when you build your solution, it will put the executable in the /bin/Release folder.
If you need to automatically perform certain actions once the solution is built, like packaging into a RAR or ZIP archive and copying the distributable to another folder, then check out post-build actions.
After Visual Studio 2010 , Microsoft remove Make setup utility facility from the visual studio and,we have to downlorad that plugin seperatly from
Get InstallShield Limited Edition for Visual Studio
You Have to fill the application
After intalation, goto
Visual Studio-->New Project-->Other Project type-->Setup and Development
You will see follwing screen
Now you can goto InstallShield setup utility and change the things as you requirement.
add all file in debug folder of your project in follwing interface and build solution,
Final setup will locate in your setup folder-->Express\CD_ROM\DiskImages\DISK1**
hope this will help you

Categories

Resources