Bug in installshield lite: Modifying the command line for a redistributable - installshield

I am using visual studio 2017 Pro along with InstallShield Lite. I have set a prerequisite to install c++ 2017 distributables(x86).
The problem is, that install shield, specifies a command of /q/noreboot. Notice that there is no space between /q and /noreboot.
The consequence of this is that your installation program will give an error on the installation of the redistributable under all circumstance.
For example, if the redistributable is not installed, it will actually install it but then give an error that the install failed. In fact it has installed it. If it is installed already or there is a higher version it will not install it but also give the same message that it has failed. This is confusing for the end user of the application since he always has to specify to continue anyways. On the other hand, if you have the space /q /noreboot it always works perfectly fine and doesn't give an error (at least with testing at a command line outside of InstallShield. So the question is how can one modify the command line for the prerequisite in Visual Studio Lite?
Thanks

I'd say that the redistributable is added via .prq file. You can directly edit the .prq file for the required redistributable. It can be found in the InstallShield installation folder by default c:\Program Files (x86)\InstallShield\2018\SetupPrerequisites\ and then re-add the redistributable.

The behavior exists on all computers. I have finally determined this to be a bug in Installshield LE which has existed since 2010 and still exists in LE 2018.
However, there is a solution in the .prq file if you add a flag in the behavior tag so that it now includes the "Hidden="1" parameter, the prerequisite will install fine if not present, not install if it or a newer version exists, and not complain to the end user. In other words it installs silently like it is supposed to.

Related

Visual studio 2012 msi setup does not update .exe file in newer version

I am building a setup in VS2012 - installshield.
I have to upgrade the version of my application and create a new installer.
I changed the product version and update the version of my application and setup too. (they where 2.0.2.0 now are 2.0.3.0).
The installation works correctly and the updates seem to work (2.0.2.0 does not exist anymore and 2.0.3.0 is installed) but it happens that myapplication.exe after the msi is launched is erased!
Only if I run the msi another time in repair mode the .exe is added.
I would like that the installation will keep the exe without this boring second step.
I answer my own question.
I naively just forgot to set the compile mode from debug to release; so the compilation worked but I had this side effect.

InstallShield closes after installing VS2012 redistributable

I am using InstallShield 2010.
Due to recent application update we have to ship and install Visual Studio 2012 Redistributable package to the clients.
I've done many setups with prerequisites, some of then had redistributables, some not, but its the first time i needed to include VS2012 Redist.
After i created a prerequisite file and pointed to the redist file, added the command line options /q /norestart, i then tested this on windows XP (virtual machine), at first it seems fine, install shield showed that i needed the package installed, so ok, clicking next shows how it extracts the file and then start installing. Right after installation of the redistributable finishes, whole install shield closes out and nothing continues. So basicaly, redist got installed, but not my application.
What could be the cause of this? Why is redistributable closing installation? How could i fix this without forcing a user to install redist package manualy?
Chances are the reboot settings of the prerequisite aren't quite right. It sounds like it's detecting a required reboot which the .prq claims the redistributable will have already asked about, so InstallShield is just exiting to let the reboot occur. You should be able to confirm this by logging setup.exe with /debuglog. And if so, the fix will be to edit the reboot settings on the behavior tab.

VS 2012 Update 3 broke my VS

I am using Windows 8 64 bit machine with VS 2012 ultimate. After installing Update 3 and restarting the machine, I get following error whenever I try to open VS.
---------------------------
devenv.exe - System Error
---------------------------
The program can't start because MSVCR110.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------
The said file is already present in C:\Windows\System32 folder. Please let me know what can be done here..don't want to reinstall that monster again.
You need to check where your projects are being loaded. I have VS installs under both x86 and 64. You'll need downloads for both on a 64 bit operating system.
http://www.microsoft.com/en-us/download/details.aspx?id=14632
http://www.microsoft.com/en-us/download/details.aspx?id=30679
Please see:
http://social.msdn.microsoft.com/Forums/vstudio/en-US/d081943f-fbe8-4a28-b8c0-d83ded9b1a67/msvcr100dll-missing
Some basic tips:
Ensure you have run the install with Administrator rights.
VS won't always ask for a computer restart. However, reboot your computer.
A note about this update.
Note Visual Studio and Team Foundation Server (TFS) installation
mechanics are different. The Visual Studio update installs on top of
whatever is already installed on the computer. The TFS update is a
full layout that replaces whatever is installed on the computer.
Before you try to apply the TFS update, make sure that you have a full
backup of your current databases. If the TFS update installation
fails, you will be unable to restart the update or roll back to the
earlier version of TFS without performing a restore procedure.
http://support.microsoft.com/kb/2835600
If you get this error it means you don't have Microsoft Visual C++ Redistributable 2012 Update 3.Try to download it from http://www.microsoft.com/en-us/download/details.aspx?id=30679 .Hope this helps.
Since it is a 64bit system, copying the missing file to the C:\Windows\SysWOW64 folder should solve your problem. If it keeps failing for other dll just keep copying.
With same error (MSVCR110.dll not found) really reinstalled Microsoft Visual C++ Redistributable 2012 not solved all problems. Some VS tools report - not found msvcr110_clr0400.dll. After repair installation of .net 4.0 (or 4.5/4.5.1) all work fine.

missing header file on a new installation of visual studio 2012

I just installed visual studio 2012 and tried running my C++ project on it.
compilation fails due to missing "SDKDDKVer.h", "windows.h", etc.
I installed the windows 8 sdk from Windows Software Development Kit (SDK) for Windows 8, but after successfully running the installer with the default components (including the windows headers), I can't find any include folder under C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0 or C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A.
I ran the SDK installer twice + tried to repair and still I can't find any trace of the windows header files.
Did anyone encounter something similar?
what am I missing? my OS is win7 x64. I uninstalled VS2010 before installing VS2012.
thanks,
It's a bug caused by VS2012 using the configuration of VS2010.
You have to manually fix the include libraries to get around this (through the property manager).
The substantial modifications needed are :
adding $(WindowsSDK_IncludePath) to the include paths
adding $(WindowsSDK_LibraryPath_x86) or $(WindowsSDK_LibraryPath_x64)
to the library path depending if your building for x84 or x64.
The same problem also exists when you upgrade a VS2010 project to VS2012.
To me, manually fixing the include dirs (see step 1 in previous answer) took care of the problem.

Various issues installing igraph in Visual Studio 2010 and Cygwin/MinGW ("sys/time.h not found")

I couldn't get igraph to work with Visual Studio 2010 (supposedly many known issues), and so decided to try installing it in Cygwin. ./configure went fine. But make gave this error:
f2c/dtime_.c:16:23: fatal error: sys/times.h: No such file or directory
Makefile:2190: recipe for target `libf2c_la-dtime_.lo' failed
make[3]: *** [libf2c_la-dtime_.lo] Error 1
I tried installing it in MinGW and get the same error when I make. Should I be providing "sys/time.h" or a path to it? Where is sys/time.h? Using Windows 7.
Edit
The problems in Cygwin and MinGW was due to the wrong version of gcc being used by my clean installation of Cygwin (and a characteristic of MinGW). Solution here: Installing/compiling in Cygwin/MinGW - How to set the include "path"? (symbolic link?)
The problem in Visual Studio 2010 was due to building in "Debug" instead of "Release". One of igraph's creator, Gábor Csárdi, graciously provided an excellent step-by-step guide below that identified and resolved it.
Igraph actually does work with Visual C++ 2010 Express, we test this before releases, and I have just tried it. You need to do the following steps.
Download the source package specifically created for Visual Studio.
Uncompress the file into My Documents\Visual Studio 2010\Projects.
Open the igraph.sln solution file in igraph-0.6-msvc\igraph-0.6-msvc directory from Visual Studio.
Visual Studio offers to convert the solution file to the current format, do that. Just click on Next, Next and Finish.
On the toolbar, change 'Debug' to 'Release' to make release builds.
Choose Debug -> Build solution and wait until the library is built.
To test it you can open the solution file in the igraphtest directory, convert it as well, choose 'Release' builds, and then build it and run it from the command line. It is a simple C++ program that uses igraph to create a graph and write it into the file out.txt.
You don't have to set up include and library directories at all, everything is set up properly in the solution file, both for igraph and igraphtest.
is there an sys/times.h file?
I have a vague memory that I had to make that symlink on a system once.

Resources