Adding .NET 4.0 to installshield 2011 - installation

I have added Microsoft .NET Framework 4.0 Full to my installer, and set it to extract from setup.exe, however when I run the installer its starts to download and then install .Net 4 instead of installing it from the installer directly without downloading.
Does anybody have a clue as to why this is happening.

Actually, you also need to change one option in Release menu, where you configure setup.exe.
It option calls InstallShield Prerequisites Location (can has another, but similar name, I use 2012 version) in Setup.exe tab, you need change it either to Follow Individual Selections or to Extract from Setup.exe.

Related

Installshield and Redistributables

I have .net 3.5 application
I have made basic MSI installer with installshield added .net 3.5 in Redistributables tab rebuild and checked .msi and .exe but size is same .net only added in ISSetupPrerequisites folder
Installshield does not put Redistributables in .msi?
I must send full folder (DiskImages) to my clients?
their would be no points in putting the redistribuable in the MSI since you cannot launch another msi while an msi is runing.
a good practice would be to compressed all your files in the setup.exe. it's easier to carry around and prevent anyone from replacing them with nasty stuff and launch them with admin's right.
right click on the prerequisit and open the properties
Now specificly for the .net 3.5, since it's a windows feature on most of the modern OS (anything but xp...) the installation of the module will failed. I would suggest making a launch condition validation the presence of the registry key HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5|Version. like that
it will make your installer smaller and probably more usefull since you can customize the error message to explain how to activate it.
You can compress everything into the .exe file (select compressed, and "extract from setup.exe" as appropriate), but since Windows Installer does not handle prerequisites, it cannot be just the .msi file.
If you stick to the uncompressed build you described, then yes, you must send the full contents of at least the Disk1 folder (also any other Disk folders if there are any; they're typically only used for multiple-disk media scenarios).

How can I redistribute .Net Framework3.5 SP1 with my application by ClickOnce on VS2010

I'm sorry I'm english a little.
I want to redistribute .Net Framework3.5 SP1 using clickonce application(publish tab)
I check .Net Framework3.5 SP1 , but it can not find DotNetFx35Sp1Setup.exe when build process.
If i check .Net Framework4 , it works well(VS2010).
so i tried in vs2008, it works well.
How can i include .netfx35sp1 into clickonce application on vs2010 ?
How are you publishing the application from??? via visual studio 2010?? in that case.. go to your project startup file->properties->publish.. go to pre-requisites. where you will see options like download from vendor, download from the same location, download from the server location. You choose download from vendor's website and also you will see the list of prerequisite available in that popup, where you can check the prerequisites you need. you check the checkbox for .net3.5sp1 and publish.

WIX UI Installer Project in Visual Studio, Now Mange Updates?

I have a fresh WIX UI Install project in VS which compiles down into an MSI. Everything is working great with it.
It installs/uninstalls the files I want successfully. For example, it drops 3 DLLs into a Program Files folder, installs a Windows Service, and GAC's a DLL.
Now let's say I install on this in a given environment. Then one of our DLLs change and we need to upgrade this install without affecting other files already installed (such as the service) So my thought would be I would need a patch/upgrade MSI that would target that one DLL and just overwrite that particular file.
What is the simplest way to accomplish this? Do I need VS projects essentially for each patch/update MSI? Below is my current 2 WIX related projects (installer + custom action)
For updating just the DLL a patch is recommended. Visual Studio doesn't support patches, but you can try using WiX: http://wix.sourceforge.net/manual-wix2/patch_building.htm
Please note that patches have some restrictions: http://msdn.microsoft.com/en-us/library/aa367850(VS.85).aspx
A MSI which overwrites just one file is a bad mistake because you are not using the Windows Installer update mechanism.
If you want a MSI, it will have to be a major upgrade. A major upgrade will automatically uninstall the old version before installing the current one.

Visual Studio Setup project - force installation of a .DLL?

I have an update to third party .DLL that must be installed onto my clients' computers. We currently employ automated installs via MSI that are created in Visual Studio 2010
Unfortunately, the third party .DLL was versioned incorrectly and file version of it was not increased by the provider (they only increased assembly version). The third party provider is Microsoft, so waiting on them to fix the issue is not realistic. We need to get the new .DLL to people now and within one MSI update. Right now, MSI update is not overriding the .DLL
Is there a way within VS2010 Setup project to force override a .DLL even if the file versions match?
If you are willing to do msi postbuild tweaking you can hit the File table and do "version lying". Another thought is to not put that DLL in your install. Find an installer from Microsoft ( if it exists ) that you can put into a bootstrapper or create your own installer and use AMUS instead of OMUS for the version rules.
Can't you just add the file to your installer as a 'file' and install it with the other files? Don't set it as project output, or any of the canned install actions. Go to the file portion and right click the "Application Files" folder, and say > add file. Navigate to the file that you want and choose it.

Location of files from extracted installshield setup.exe

I have a Installshield Basic MSI project. This project uses Installshield's bootstrapper to install several setup prerequisites. Everything is bundled and compressed inside a single exe (Setup.exe). I have one prerequisite that needs to know the the full path of the file to execute. Is there a property available to find this path?
Or another solution. We are using Installshield 2008 with not much chance of upgrading at the moment. I am needing to install SQL Server 2008 which is dependent upon Windows Installer 4.5. Installshield 2008 doesn't have support for WinInstaller 4.5 so I created prerequisites for it for WinXp and Vista. I have WinXP working correctly.
However Windows Vista, the redistributable for Windows Installer 4.5 is a .msu file and needs to be executed through wsua.exe. I created a small app that just accepts the commandline params and kicks off wusa.exe with params to install the Windows Installer redistributable. However wusa.exe needs the full path to the redistributable. Is there a way to find the path to where setup.exe extracted the files?
Or is there a way to add support for Windows Installer 4.5 to Installshield 2008, doubt it, but it would be easiest
For your alternate approach with IS2008, you should be able to do this in your helper exe. Assuming you're using C++, you can call GetModuleFileName() to find the location of your running exe (other languages should expose similar functionality somewhere). Since all the prerequisite's files will have been extracted to the same folder, you can use this to figure out the full path for the .msu file as well.
Upgrading will get you direct support (as well as included prerequisites for Windows Installer 4.5) as IS2009 and later prerequisites shell execute their target, supporting .msu files natively. IS2009 and later also have support for a prerequisite command-line property which you could use to locate your prerequisite files; see the InstallShield 2009 Release Notes and search for ISPREREQDIR.

Resources