I've built an installer using InstallShield 2011. I need to do a silent install so I ran the setup.exe with the -r flag to record the response file. However, the installer doesn't appear to actually generate a file (I've looked in the windows directory for the .iss file - in fact I've looked over my entire hard disk for .iss files)
I'm installing on Windows 7 64 bit Ultimate Edition and running from an elevated command prompt
Has anyone seen this before or have any ideas why the file isn't getting generated?
Related
This question already has answers here:
Inno Setup - Signing fails with "Sign Tool failed with exit code 0x1"
(2 answers)
Closed 4 years ago.
I have Inno Setup with Inno Script Studio installed, along with Visual Studio 2013. I have a digital certificate, protected with a password, named certificate.p12. I also have the Windows 8.1 driver SDK installed (although I'm running Windows 7 Professional x64). The compiled output I'm including in my installer is already signed.
I configured Inno Script Studio with a sign tool named my_signtool and with this command:
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /f "z:\full\path\to\certificate.p12" /p "password" $f
...and in my .iss file, I have:
SignTool=my_signtool
With this setup on my computer, it works perfectly. I compile the project and Inno Setup automatically signs the installer and its uninstaller.
But, I have a colleague with what should be the exact same setup. He has Visual Studio 2013, Inno Setup and Inno Script Studio, a copy of the certificate, and its password. When he tries to compile it, Inno Setup fails by saying attempting to run the signtool against uninst.e32.tmp returns 0x1. When he runs the exact command it tries to run manually in the command prompt, it fails by stating uninst.e32.tmp isn't available, but that seems normal because I suspect Inno Setup is just cleaning up after itself after the error (or is it?).
I've tried replacing the quotes with $q in the definition of the sign tool to no avail. In fact, aside from the path to signtool.exe itself, none of the paths involved have spaces in them anyway.
Both our outputs look like this initially. Immediately after this is where they diverge: mine continues to run, and his complains that the sign tool failed with 0x1.
Starting compile. [Monday, January 12 2015 at 10:11:03 AM]
Compiling script with Inno Setup 5.5.5 (a) [ISDLLCompileScriptA]
[PreCompile] Processing.
[PreCompile] Processing is still being tested.
[PreCompile] Processing finished.
[ISPP] Preprocessing.
[ISPP] Preprocessed.
Parsing [Setup] section, line 14
...
Parsing [Setup] section, line 41
Reading file (WizardImageFile)
File: C:\Program Files (x86)\Inno Setup 5\WIZMODERNIMAGE.BMP
Reading file (WizardSmallImageFile)
File: C:\Program Files (x86)\Inno Setup 5\WIZMODERNSMALLIMAGE.BMP
Preparing Setup program executable
Updating icons (SETUP.E32)
Running Sign Tool command: "C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /f "z:\full\path\to\certificate.p12" /p "password" "Z:\full\path\to\uninst.e32.tmp"
Any guess what simple detail I'm overlooking where my environment works fine every time, but his fails even though it's configured the same way?
I had this same issue and just needed to run Inno Script Studio as Administrator and then I had no problem.
I also had this problem, but running as Admin did not solve the issue. In the end, I can't explain it, but I changed where I got my timestamp and then it all worked fine -- though there was something else that was throwing me off.
I am using InnoSetup 5.5.9 with signtool. I added a SignTool which I defined as:
"C:\PATH_TO_KSIGN\kSign\signtool.exe" sign /f "MYCERT.pfx" /t "http://tsa.starfieldtech.com" /p "MYPASSWORD" $f
The standard timestamp field from the example pages is "http://timestamp.comodoca.com/authenticode". If I use that, the process fails with the errors from the original question.
The other thing that threw me was that if I run the resulting setup build through InnoSetup, it tells me "Publisher: unknown". However, if I take the same installer and run it on a different machine, then it gets the Publisher correct.
I hope this can help someone!
-jonathan
.MSI file doesn't run in my Laptop windows 8 professional any help please.
while it runs in friend's Laptop.
How can i run it
When i run my file it ask which application you want to run this file?
Maybe .msi file extension was somehow unregistered from its application (msiexec.exe), which should be already installed. Try entering this in command prompt:
msiexec /i path_to_your_install_file.msi
If this starts the installation, then you should later eventually reregister .msi files. How to do that would be another story.
I am taking over a bit of a legacy project, and having issues getting it to install in Windows 7.
The project is coded in VB, and our IDE for it is Visual Studio 2005 with VSS (fun I know). It was originally created for XP. The original dev is around to coordinate with, but is off the maintaince team for this project, and admits that the code is quite poorly formatted and commented it was his first large project.
The project runs fine when I generate a debug or release build in Visual Studio 2005, and I can run it on the Windows 7 machine that built it just fine. However, the MSI that I generate to install with fails when run on Windows 7.
It looks to be an issue where the DLLs that are packaged with the project are not correct for Windows 7, but they were generated via an MC file. I have the source MC files, so attempted to use MS's mc.exe tool and its counterparts to create the dll, but am not seeing any output.
The only walkthroughs I have seen on using MC files are not terribly helpful: mc_tutorial
MS mc.exe page
Could someone else walk me through what steps are nessary, or point me toward some more helpful resources?
An actual high quality man page for mc.exe would be quite nice, instead of the rather limited MS documenation, but maybe I am spoiled these days.
look for mc.exe in you machine (mc.exe is part of windows sdk usually located at C:\Program Files (x86)\Windows Kits\10\bin\10.0..\x64\mc.exe).
in windows command prompt run : "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\mc.exe" -U sample.mc
after above command run: "C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64\rc.exe" -r sample.rc
above command will generate header in your sample.mc file location.
run this command to generate dlls: link -dll -noentry -out:sample.dll sample.res
I'm compiling the setup with InstallShield 2008 - Professional and I have a problem that occurred only in some Win 7 Ultimate systems.
My setup is suppose (among others) to copy files to the "Program Files" & "System32" directories.
The problem occurred when the setup try to copy files to the "System32" directory.
The install shield raise this error message box:
"Error 1926. Could not set file security for file C:\Windows\system32\, Error: 0. Verify that you have sufficient privileges to modify the security permissions for this file. "
I run the setup "As Administrator", run it when logged on as the user administrator, and still get this error every time I ran the setup (UAC on and off).
As I wrote in the beginning this is only happens in some Windows 7 ultimate 32-bit system, on other system (xp, server 2003,vista,server 2008 including on most win 7 systems) it works fine.
Which type of project you are using Basic MSI or Installscript?
I think during file copy to the System32 folder, sometimes Installer will raise exception, because maybe the file already present with higher version and that file may in use by the O.S. Make sure that if files are not present then only copy else do not.
I have a windows installer msi package with the setup.exe bootstrap. Works fine everywhere.
However the client has supposedly uninstalled the application and then tried to run the setup.exe again and gets the following error in the log file: Launching Application. Error: Unable to locate application file 'xyz.msi'.
Now the setup.exe and the msi file are in the same folder. Is this even possible in any scenario?
I think it is looking somewhere daft for your MSI, probably in the MSI cache or System32.
I'd suggest using procmon to capture the file system searches and then search that output for your MSI file name. You'll see it is not found a few times but that will show you where it is looking.
Ryan
If you're looking for a quick, one-time fix you could also just try to run the .msi directly.