I have a .NET service built with C# and it requires install util to be properly installed. However I don't trust that it's always in the right place when my installer runs on a customer's machine. Does Microsoft allow you to freely redistribute installutil with your products?
I'm pretty sure it is part of the .Net distribution package, so it should be there already on any machine that has .Net installed. And if your install msi has a module to do the .Net install for whichever CLR version your app requires, then that will install the InstallUtil for you...
It should be ok, is it not part of the .net framework redistributable which is free? you can always just copy it from the framework folder before calling it, assuming the framework is always in the same place?
Related
I have created an installshield project using the Limited edition 2012 of InstallShield.
My application uses the Microsoft Agent 2.0 control in some places. So my question would be :
How do i run the Agent installer from my install wizard? Either before the main app is installed or after...
Also, i have set a prerequisite on the setup project to include .NET 4.5 and the installer to require .NET 4.5...but if i uninstall .NET and run my setup, it simply says i need the .NET Framework, rather than installing it...any ideas?
Add a prerequisite installer for agent. And keep the one for.net, it shouldn't install if it is already present. If you don't need .net then look for a install condition that is requiring it.
When using a ClickOnce installer, will it include the necessary .NET framework?
For instance, I want to distribute a WPF application that uses the System.ComponentModel namespace, which wasn't included until .NET 4.5. If I ran the ClickOnce on an older version of Windows that only had up through, say, .NET 3.0, would it still work?
The click once application will depend on the .NET 4.5 framework. You can include this as a redistributable through project settings -> publish -> prerequisites. In fact I think recent VS versions will already prepare a setup package to run through installing this during the pre-reqs section of your installer. You can even alter the location of where the redistributable package comes from.
In summary. It will "work" in that when someone runs your installer it will tell them they don't have the correct pre-reqs, and offer to install .NET 4.5
It will, if you install with the setup.exe installer. I haven't tried it for some time but it always worked like this.
If you link directly to *.application manifest, the .net framework and other dependencies will not be installed automatically.
I need to be able to create an install in vs2008 that will install my app and setup .net cf on the smartdevice, because my app requires it.
Is this possible. If so, how can be it be accomplished.
Chris
Instructions for 2005, should be almost the same.
http://msdn.microsoft.com/en-us/library/aa446504.aspx
I have a setup project which, as a prerequisite, requires the .Net 4 framework installed locally on the target machine. I specify the install location for prerequisites as "download prerequistes from the same location as my application" resulting in the dotNetFx40_Full_x86_x64.exe being added to the installer (since the target machines we install to are not connect to a network, i.e. standalone).
I'd also like the installer to recognise it needs to install any updates of the .Net 4 framework to the standalone target machine if required. What is the best way to accomplish this?
Thanks in advance.
If you know what updates are required, the simplest way to do it is probably just to create new bootstrapper packages for the standalone updates, and add them as additional prerequisites. There's more info on that here:
http://msdn.microsoft.com/en-us/library/ms165429.aspx
Let's say, I have a .NET 2 installed. Can I programmatically install version 4 using .NET 2?
Of course you can. Include the required installation package and then Process.Start, or even better: make a setup and deployment project for your application and set a launch condition to .NET 4.0 so that when someone tries to install it it will verify the presence of .NET 4.0 and if not ask to install it:
Remark: in the screenshot set .NET 4.0 as launch condition (step 4)
You can do this (just shell out to installer MSI and msiexec.exe), but there are things like lock downs and other security issues to consider. But it's better practise to tell the user to install it and then install your program. Your installer will need to be .net 2.0 code to do this.
Sure. Just start the installer process.
Process.Start("dotnetfx.exe");