How can I create a VB application in VS2008 without requiring the application be run on a computer with a .NET framework in place?
You can't create a non-managed VB application in VS 2008.
You would have to use C/C++ or go back to VS 6.
You can look at the question below for more information on .NET linkers. That is technically an option, but if I were starting a new application that I didn't want to depend on the .NET framework I would not use a managed language.
Running .net based application without .net framework
You'll need to use a 3rd party .NET linker, Visual Studio itself doesn't support what you're after but a number of tools allow it to be done.
A couple of tools:
Remotesoft Salamander .NET Linker
Xenocode app virtualization
Another, non-VS, option is to use Mono to build a "Bundle" which combines both the runtime and your application into a single executable:
Mono:Runtime - Bundles
You can't. You would need to go back to Visual Studio 6 and create a VB6 app.
You can't. VB is .net based, there isn't a non .net VB anymore.
The best you can do is include the .net redistributable with your application's installation.
Related
In my project i have to create platform independent code. My project(Based on .net framework 4.6.1 which i have convert it into .net core 3.1) was developed long ago and its based on windows environment now we convert it into Linux and Mc environment also. so is there any way to detect all windows specific classes so we can change it for Mc and Linux also or we just read the entire code and find each function and convert it. because its very time taken process to read entire code and change according to requirement so is there any other way to do it?
Check this article Overview of porting from .NET Framework to .NET Core first .
so is there any way to detect all windows specific classes so we can change it for Mc and Linux also or we just read the entire code and find each function and convert it.
.NET Portability Analyzer is a tool that analyzes assemblies and provides a detailed report on .NET APIs that are missing for the applications or libraries to be portable on your specified targeted .
try-convert is the tool that will help in migrating .NET Framework projects to .NET Core.
Run on Linux and Mac platforms
.NET Core is cross-platform and it runs on macOS, Linux, and Windows. .NET Core supports the previously mentioned operating systems as your development workstation. With .NET Core you can target any application type that’s running on any platform. Visual Studio provides an Integrated Development Environment (IDE) for Windows and macOS. You can also use Visual Studio Code, which runs on macOS, Linux, and Windows.
.NET Core vs. .NET Framework for server apps
I intend to build simple Winform application just to allow user to automate their file creation and store the last filled form in a file to keep it for next run.
thus, I'm not interested in creating installer for this simple Winform application. I expected to only compile it to .exe and let it run on other computers.
I develop the application using VS2019 community with target .net 4.6.1
It won't run on computer with Windows 10 with only .net framework 4.8
We are not able to install framework 4.6.1 since it says an earlier version of .net framework is already installed.
Should I recompile my application with target .net framework 4.8?
Can't I compile my application to run on any computer which at least has 4.6.1 or newer? without installer.
(I don't really understand the .net framework backward compatibility truly mean)
my application uses:
library of user32.dll for SetForegroundWindow function
to create .ini file
Finally it works. Even compiled to target .NET 4.6.1 still work on .NET 4.8 computer actually.
The issue is because my application is targeting to another application using interope COM interface, while the license is not sufficient for the user to allow COM interface.
we notice it when we finally create a pure simple windows form, then step-by-step compiling while adding each feature.
Sorry Every Body for this silly case. And my special apologize to evry1falls for spending your time.
I'm thinking to change this Question or delete it. because it is not the issue at all
The Actual Issue is:
I created Windows Form Application starting from a blank Project. And I don't know that the .NET Unhandled Exception is not activated by default.
When created from Windows Form Project Template, the Unhandled Exception message shown.
I created another Question about it: Here
I have developed a simple form which don't have any .Net requirements but the published forms is not opening in users system and showing message to install .Net framework in users systems.
But this issue is happening with Visual Studio only and if I create the same form in VB6 then the form is working nicely without any .Net installation requirement.
Any suggestion about how to get rid of this .Net installation requirement (in Users Systems) in VS forms?
Both VB6 and VB.NET have prerequisites. It just happens that VB6 is so old that the required prerequisites are already included in all operating systems still in use (Windows NT 4 SP4 and above).
You say that you "don't use any .net related things". That's not true. VB.NET itself is part of the .NET framework, as well as the UI library you use (probably WinForms).
If you need your application to run without prerequisites, you could target an earlier version of the framework: .NET 2.0 is included in Vista and above, .NET 3.5 is included in Windows 7 and above.
The System.Windows.Form object is part of .Net. So is every one of the controls you're using on your form. So, if you develop any kind of form in VS (later than VS 6) you are using the .Net framework whether you realize it or not. In this case, it isn't one of Microsoft's arbitrary requirements.
You should also realize that the VB6 Runtime module has to be installed on the target machine for the VB6 version of your form to work properly, too. So, if it runs fine, it's only because that module happens to already be registered on your target machine. That might not always be the case.
I have recently written two small apps in Visual Studio 2012 (VB). I compiled them using Framework 4.5. These have been tested on the end user's PC's and the feedback was to try and get the Apps Compiled using Framework 3.5 as this is already installed on the computers.The computers are using Windows 7.
My questions are these:
Is it possible to force a compile to use 3.5 instead of 4.5?
How would I go about doing this?
Yes, it is possible to target the 3.5 framework when you compile.
Go to PROJECT-> Properties (You can also right-click on the project in the solution viewer and select Properties).
Select .NET Framework 35. in the Target Framework dropdown.
The project will be closed and reopened automatically by Visual Studio (you will be asked to confirm this change).
Note that if you have anything specific to .NET 4.0/4.5 that is NOT present in the 3.5 framework you will have to make the necessary changes.
EDIT
A picture is worth a thousand words:
I am in the process of creating a lightweight application in vb.NET, and was wondering if it is possible to create an application that uses some of the dll's within the .NET 2.0 framework, without actually using the framework itself.
For instance, can I take the dlls from the .NET directory that the app will reference (and only those dlls that it references), put them into a folder inside the app's directory, and then just change the reference path to that new location? That way, when the app is installed on pc's without .net framework installed, the dlls can just be zipped and copied over to the newly installed app directory.
This may all sound a bit confusing, just let me know if you need any more info.
It is quite unlikely that you'll be able to do that.
There is this thing called .net framework client profile for creating lightweight .net apps that do not need the whole framework but you still need to have that installed.
I would recommend using something like Delphi if you need a standalone exe that does not depend on anything.
There is concept of Client Profile in .NET 3.5 and .NET 4.
That is subset of .NET, smallest necessary fraction of .NET that client must have in order to be able to run .NET applications targeting client profile.
There is more detailed overview of the features you may use when targeting client profile.
Unless you move to .Net 4 or above, you need full framework on the client computers. Having said that, which OS are you targeting? Newer MS OS often come with .Net framework installed already.