install4j MSI Installer - Random name when asking for permissions - install4j

When I create an MSI installer with install4j, when the installer asks for permissions (the UAC prompt), the program name for the installer is a randome set of letters and numbers (i.e. 2e5658ae.msi).
The program name should really show our application name.
Is there a way to set this value in the install4j installer settings?

Related

Location of error.log File on Windows System

How do I change the location of the "error.log" file that by default gets placed in the same folder as the install exe when performing a quiet (-q) unattended install?
Since install4j, there the installer and custom installer applications have a "Log file for stderr" property. By default, it is set to ${compiler:sys.mediaFileName}_error.log.

Install software using command prompt start command with target directory

I am trying to install software using command prompt using below command
start /wait /d "C:\abc" C:\Users\abc.exe /silent /norestart
I want to install software in c:\abc folder but it is installing in the software default directory. Is there any way to install it into the custom directory using the start command or are there any other alternatives to install the software on the target directory.
SHORT VERSION:
This may be the most "accessible" and "quick" explanation for your particular case: http://unattended.sourceforge.net/installers.php
If you are dealing with an MSI file, you should use the admin install feature to extract all the installation files first and then customize your install by setting public properties or utilizing a transform to configure the install. Details here: How to make better use of MSI files.
See the link towards the bottom to find a list of different parameters you can use for different types of setup.exe files.
DETAILS:
A setup.exe file can be "anything". It can be an old, legacy Installshield or Wise installer, a modern Windows Installer file (MSI) embedded in a setup.exe launcher, an Inno setup file (non MSI), an embedded Advanced Installer MSI setup, a compressed and self-extracting zip file, a unique and custom made installer (proprietary), or any number of other technologies, the list goes on and on and on - it is impossible to tell what tool or technology was used to create your setup.exe from the information supplied.
Just for reference, let's link to installsite.org's information on different setup technologies and available tools. Most likely your setup.exe is made using one of these tools:
Non-MSI installer tools: http://www.installsite.org/pages/en/tt_nonmsi.htm
Windows installer tools: http://www.installsite.org/pages/en/msi/authoring.htm
This may also be of help: Wix - How to run/install application without UI.
The point is, naturally, that every, different technology has its own way to enable silent installation and to customize installation parameters. So the first step for you is to determine what this file really is. Right click the file, select properties and check the details tab for any clues. Or just run the setup.exe interactively and see what the window title is (top window title bar). It will generally indicate what tool was used to create the setup.exe.
Rather than rewriting it all, and since it is a stackoverflow link (unlikely to be removed), I will just link to a similar answer on how to install setup.exe files silently: How can I use powershell to run through an installer?. See the "some links" section for links to documentation for various tools.

Extract LAUNCHERS from installer created by Install4J

I'm looking for a way to extract the launchers of installers created by install4j (mainly Windows installers).
My goal is to send these launchers for inclusion on the white list of antivirus sites.
I tried to use the Executable Processing option, but this operation takes place before the signing of the launchers and the silent mode makes too many changes in the machine.
It's not possible to extract files from the executable without running the installer.
At build time, you can pass the
--preserve
argument to the compiler, or check the "Do no delete temporary directory" check box in the "Build" step of the installer, then the staging directory with the launchers in the %TEMP% directory will not be deleted after the compilation finishes.

VB6 dependencies to access a network postgresql database

I have a vb6 application that will be accessing a network Postgresl 9.3 database via ADO.
This is a portion of the connection string
Provider=MSDASQL;Driver={PostgreSQL ANSI}
What (if anything) do I need to distribute with my application to guarantee that the provider/driver combination will be present on windows machines (xp and up)?
Thank you.
Bundle the psqlODBC MSI:
http://www.postgresql.org/ftp/odbc/versions/msi/
Just run it with msiexec /i THEDRIVERMSI.msi /passive /n from your installer.
It comes with the required libpq, OpenSSL, etc. You might need to make sure the correct Visual Studio runtime is installed, I don't remember if it auto-installs that.
If you want to make it invisible to users, bundle it as an msm that becomes just another component of your application's MSI installer. You have to recompile psqlODBC to generate the msm, see the winbuild and installer folders in the source code.

MSI File/Registry failures on Windows Server 2008/Windows 7 (x64)

I'm trying to deploy an application on Windows Server 2008 (SP2 x64) and Windows 7 (x64), using VS2005 Installer Project. The MSI version (I think) it the 2.0.
Everything works fine, except that some registry keys and some files are not copied on the install machine. The MSI system doesn't notify about nothing (and I don't know whether MSI logs its operations).
Are there incompatibilities between my MSI installer project and these new OSes? It seems to me that the OS protect itself for being modified in some part.
For example, I'm trying to set the registry keys:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\WinLogon\SpecialAccounts\UserList\User
but it is not created. In the same installer there are many other keys, which are created like expected (as they always did before on Windows XP and Windows Server 2003).
To provide another example, I'm trying to install the file
%SystemFolder%\oobe\info\backgrounds\backgroundDefault.jpg
(where %SystemFolder% is typically "C:\Windows\System32"), but the file is not copied at all!!!
What's going on?
I've found the backgroundDefault.jpg file is located in another directory: %SystemRoot%\SysWOW64\oobe\info.
But I've not specified nothing about a System (64 bit) folder. How can I copy the file in the right place?
First, regarding logging, you can request MSI to create a log file of its operations like this:
msiexec.exe -i my_msi_file.msi -l*vx logfile.txt
This will create a log file called logfile.txt.
Second, it sounds like you're creating a 32-bit MSI and running it in 64-bit Windows. There is nothing wrong with this, but be aware that Windows is using file system redirection. Windows has a separate SystemFolder and HKLM/SOFTWARE keys to host 32-bit applications. If you look in the Registry at HKLM/SOFTWARE you'll probably see a sub-key called Wow6432Node -- this is where 32-bit apps write their Registry data.