Add .Net Framework 2.0 in VS Setup Project - setup-project

I have setup project that requires .Net Framework 2.0 before installation. So, I want to make my project to install .Net first and then my project.
How can I add .Net installation file inside my Setup Project and force it to install first during the installation process?

here
here
You can also download the setup file of the .net framework and use setup maker applications to instruct the user to install it first. Please do a little web search for similar questions before asking here. :-)
EDIT:
First create a setup file for your visual studio project without the .net framework setup file. Then use Inno Setup to make another setup file and in here use the option Inno setup provides to make the user to run the .net framework setup file first. This will make a single .exe file named setup.exe in you documents folder. See if this works for you.
Since .net framework and your program use the same install shield for installing, you can't use both of them at the same time when the other one is still running, that's why you need a different setup wizard than install shield.
EDIT(Inno Setup):
You can search Run in the index section of the help window for farther information. The programs are executed in the order appearance in your code in Inno Setup. So your Inno Setup Run section code should be something like this:
Filename: "{app}\.netFrameWorkSetup.exe"; Flags: nowait postinstall skipifsilent
Filename: "{app}\yourAppSetup.exe";
Actually it didn't get as much explaining as I expected!

Related

Creating an MSI installer for a C# SCD Deployment (Visual Studio 2019)

I have a .Net Core 3.1 application that I'd like to deploy as a Self Contained (SCD) Deployment using an MSI Installer in Visual Studio 2019...
I have published the project as an SCD Deployment and I can run this on the target machine just fine
However, I've been asked by IT support to provide an MSI installer for the application as .MSI files work well with some of the admin/control applications they have.
So I created a setup project in my solution and selected 'Publish Items' as the Project Output of the setup project and rebuilt it...
The installer seems to run just fine on the target machine but when we try to run the installed application it says that .Net Core is required ...It's as if the installer has ignored the Self Contained aspect and just installed as a regular Framework Dependent Deployment
Is there a way to create an installer that installs an SCD deployment? Have I made a mistake in my thinking?
Many Thanks in advance,
Andy
The VS Setup Project template is quite old. Most likely it was not updated to be "aware" of the SCD support so it resorts to extracting the classic output binaries from your project.
There are other free tools that you can use to create an MSI from VS, which give you more options to customize and correctly configure the package.
If you have time and want to learn a new skill, try WiX Toolset. It is very powerful but you will need some time to get started.
If you wanted to get it done quickly and avoid the hassle, use the free VS Extension from Advanced Installer. Its GUI allows you to easily create your setup package and it has native support for .NET Core packaging too. If you follow the steps from the linked tutorial it should create a working package for your application.
Disclaimer: I work on the team building Advanced Installer.

How do I run an ASP.Net Core executable file?

I am new to ASP.Net Core. I have been following a tutuorial. I got to the point at which Javascript code was added to my project. I ran my program, and nothing in the script worked. After adding a few alert() calls, it was apparent that my program was not finding my script. People here and at Reddit suggested I look at the network tab of DevTools. I saw that my program was not able to find any js or css files.
Being an old-school C++/C# developer, I was running the program from a command window by going to the folder containing the executable file and typing the name of the file.
I went back to the beginning. The tutorial directs me to use the dotnet command, which is brand new to me. The first time it tells me to run my program, it tells me to go to the project directory and enter "dotnet run". It just hit me like a ton of bricks that that was what I should have done the first time. I went back to that project, used "dotnet run", and it worked.
So, my question is this: is it possible to run MyProject.exe by itself? If so, how? Copy it into my project folder? Or is the "dotnet run" command the standard way of executing an ASP.Net Core application?
I think it won't work if you directly run it (not sure if we can run MVC project using dotnet-cli (dotnet run will try to load only MSIL to CLR)).
DotNet core console application is different from .net core MVC projects
you can run your project by following ways.
1. Run using visual studio
when you create an MVC application, in the visual studio there will be multiple options to run it, you can choose IISexpress one, it will open in the default browser.
for step by step guide -> https://learn.microsoft.com/en-us/visualstudio/ide/quickstart-aspnet-core?view=vs-2019
2. publish it in IIS
For this you need to ensure few things, like hosting bundle is installed or not, IIS is correctly configured for core application or not.
for step by step guide -> https://stackify.com/how-to-deploy-asp-net-core-to-iis/
3. Use VSCode
for step by step guide -> https://learn.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vscode?view=aspnetcore-3.1

Converting - asp.net mvc 5 web application (Visual studio 2017) to .exe setup file

I would like to know if there is any possibility to convert an asp.net mvc 5 web application into an .exe setup file. I tried various links. But i didn't get any output. I received a .msi file and when i tried installing, the installation stops right at the beginning displaying a message = "installation stopped. Please try again". or if i try to install the setup file i get a message = "Invalid.. Please check if package exists...bla bla bla"
Some of the links that i tried are listed below.
https://www.c-sharpcorner.com/article/step-by-step-guide-to-create-a-setup-for-a-web-application/
https://weblogs.asp.net/scottgu/tip-trick-creating-packaged-asp-net-setup-programs-with-vs-2005
https://www.c-sharpcorner.com/article/creating-setup-and-deployment-projects-in-vs-net/
https://www.codeproject.com/Questions/297343/How-to-create-exe-or-msi-file-setup-file-of-web-ap
And Much More...
You first need to do some preparation:
Set up IIS 6 Management Compatibility (To prevent those "Installation stopped" errors)
Install Microsoft Visual Studio Installer Projects extension. (To add setup project template to VS)
Then you can create and configure and setup project and run the setup.
Details
1 - Set up IIS 6 Management Compatibility
Open Turn Windows features on or off → Internet Information Service → Web Management Tool and check at least the following items:
IIS 6 WMI Compatibility
IIS 6 Metabase and IIS 6 configuration compatibility.
This is to fix the following error:
The installer was interrupted before application could be installed.
You need to restart the installer to try again
2 - Install Microsoft Visual Studio Installer Projects.
This is to add setup project templates to Visual Studio. Here, we are interested in Web Setup Project.
3 - Create and configure the setup project
Create setup project
Right click setup project → Add → Project output and choose what you need. You need at least primary output and Content Files from your web project.
Then you can build the project and run setup.exe.
Note
You can setup other properties like ASPNETVersion, Manufacturere, product Name, ...
If after deployment you faced with error complaining about \roslyn\csc.exe, you may want to include roslyn files or remove roslyn compilation at all. For more information take a look at this post.
You can add CustomAction to do some custom actions during install/uninstall. You can find a lot of examples around, like this post.
You can even customize UI and add some input and use them during installation. You can find a lot of examples around, like this post.
In general, if your deployment is a common site deployment having a few files and database, a better option is creating Web Deploy Packages and then install the package to IIS. You can automate that process easily.
vs-2017 ---> other project types ---> web setup project
Screen shot

Can you create Build and Release Definitions for Website projects not Web Applications in TFS2015?

Is this possible?
We currently have build definitions and release definitions setup and working for Web Applications. However we have a lot of older web site type projects and will not work with the current build and release definitions that we already have setup.
Is there a way for us to get the web site projects to work with the build and release definitions in TFS?
Thanks
Recently changed my steps for the build definition and now that build is successful but the release still fails.
Build definition Steps are:
Nuget Installer, Copy Files, and Copy and Publish Build Artifacts
Release definition Steps are:
Powershell on Target Machines, and Windows Machine Files Copy
As web site projects needs bin folder and TFS doesn't want them to be stored in source, the best way to achieve is to convert web site projects to web application.
Best practice: Converting to web application:
https://msdn.microsoft.com/en-us/library/aa983476.aspx
But they made a workaround maybe you can try:
https://blogs.msdn.microsoft.com/tfssetup/2016/09/21/building-a-website-with-tfs-build/

Can't launch Qt Quick Controls application

I downloaded Qt 5.4 and created Qt Quick application with Qt Quick Controls 1.3.
I didn't change anything in code, just built it (as release). Then I copied .exe to another folder, added all the .dll files I needed and when I launched my program there was no window, just the program process running in the Task manager.
However, I can launch program which uses QtQuick 1.1.
How can I fix it?
Thanks.
Here is an image for some more explanation:
Try to deploy your application using The Windows Deployment Tool which copies all DLL and other files necessary for deployment alongside your application executable automatically.
The Windows Deployment Tool could be found in QTDIR/bin/windeployqt.exe
Open your command prompt and add the path to your Qt directory and it's bin folder to the PATH variable like :
set PATH= path\to\Qt\bin
Next run the windows deployment tool with your application path as the argument:
windeployqt.exe <path-to-app-binary>
This way you make sure that the deployed application would work on any computer and you have included whatever necessary.
Sounds like you are missing the platform plugin. It should be in the folder of the executable, in a platforms subfolder. That's why you aren't getting a window - the runtime fails to load the platform support plugin. On windows that should be a qwindows.dll file.

Resources