I am running into an issue when trying to add Brosix as an application to MECM for quick and easy deployment upon imaging of a laptop. This requires the Brosix installer to run in unattended mode (aka silently/quietly) but I cannot find such a command when running the installer and I am also planning on running their installer with the /advanced command so that it installs for all users instead of a singular one. So far /silent has not worked for me and neither has /unattended when running these installers in cmd or Powershell.
It seems Brosix did not make support for silent or unattended installs using their advanced installer which installs for all users, although I was unable to confirm this from Brosix despite calling them and making a support ticket. Therefore, it seems the solution for MECM is to have it be a per-user install (that is silent normally) which is something you need to set up when you build it in MECM.
Related
I have a Windows installer script for a Windows application I'm delivering to customers. I want to have the application installed as a Windows service.
I've been reading up on various ways to do this. The closest I've found that can do this from a command is sc.exe as described in Create windows service from executable here at Stackoverflow, but this command requires running it as administrator, which as far as I can tell, also requires submitting an administrator's password.
In my build script, there's no way to right-click and "run as administrator".
Is there any way to do this from a build script (I'm using my company's installation packager to do this, which uses Ant-like XML build files with an command and statements -- so, much like running at the Windows command line). If I could figure out a command-line implementation that my customers can use I could give them this package.
Thanks for any tips.
Scott
I have an executable application setup.exe for Windows that I realized with Launch4j/Inno Setup based on Java.
I often frequently release new versions and bug fixes.
I would like to know if there is a mechanism to install updates automatically?
Inno Setup does not have any built-in mechanism for implementing automatic updates.
You need to implement that yourself:
Make your application check for new versions (against your application webpage?). E.g. on startup (on a background thread?)
If the application detects a new version, make it download an installer to a temporary location.
Make the application execute the downloaded installer. You can make the installer run in silent mode (/silent switch). The application should close itself, to unlock any files it is using, to allow files update.
This approach will need the update installer to prompt for Administrator privileges. If you need the update to proceed completely seamlessly, you will have to implement a service. For that, see Deploying application with .NET framework without admin privileges.
I am trying to find out how a driver is being installed on the system from a MSI setup package. I am currently using a program called InstEd to try and get an idea of what its doing:
http://i.imgur.com/b9USo.jpg
I am interested in "MsiProcessDrivers" and "MsiInstallDrivers".
Can anyone reccomend how I can see how the drivers are being installed?
The MS Sysinternals suite has some tools for monitoring registry and disk operations. Just run them prior to running the installation, and note the actions that are performed by the installer.
Sysinternal's Process Monitor will show file system and registry changes being made: filter by msiexec processes.
Warning: for a non-trivial install this is likely to be a lot of operation.
The two custom actions you reference (MsiProcessDrivers, and MsiInstallDrivers) are part of the DIFx Driver Installation Framework as used with Windows Installer.
We have an MSI installer (created using Wix) which is setup to be able to perform upgrades. Our clients are using it to upgrade our application on multiple machines at once using an SMS package running msiexec in silent mode.
The problem with this is that some of their users will still be running our application at the time the installer is run. We don't want to kick these users off, and running the install while they are using the app invariably breaks things.
Our ideal solution would be for the install to be scheduled to happen the next time the machine boots up.
This is a fairly hefty list of requirements, but does anyone know how I could achieve this or where I might look next?
You could add a value to the registry under HKLM\software\microsoft\windows\currentversion\RunOnce and it will run the next time a user logs on.
Windows Installer automatically detects files in use. Also, during a silent installation it handles them automatically:
files which are not in use are overwritten
files in use are scheduled for update after a reboot
As you can see, this is somewhat problematic because some files are updated and some file are not.
A good solution is to set REBOOTPROMPT property to "S". This way the target machine is automatically rebooted after install.
Unfortunately MSI packages cannot detect running processes, stop the install and schedule it at the next reboot. This could be done only with a custom EXE bootstrapper.
any recommendations about those inno setup scripts so the compiled install run smoothly on windows 7?
Don't install anything to user-directories. Assume the installer will be run from a different account than the one that will use the installed application.
If you need to save user-specific stuff install it as a template to a shared location (ideally read-only to regular users, e.g. under {app}) and have your application copy it from there on first startup.
Don't create Quick Launch shortcuts
Oliver Giesen's suggestion is what I'm using, but it has a disadvantage... there seems to be no way to remove the {userappdata} folders for all users when uninstalling the program, meaning you can never do a clean uninstall/reinstall.
Inno Setup has full support for Windows 7. Just make sure to use the latest version of Inno Seup, preferably the Unicode edition.