Application and driver installation - installation

I am making installation project (currently with installshield le that comes with VS2010).
The project contains one file - application .exe file.
and driver files.
The driver files are .inf and .sys that should be installed during the installation process.
there are different .inf and .sys for each OS platform (64/32).
How can i do it with InstallShield LE ? if you plug the usb device you will see it under Device manager and can manually set the driver, but i want to do it automatically during installation.
Thanks

Strictly speaking, ISLE doesn't support this. For a workaround:
1) Checkout how to do it in WiX:
Drivers Installation With WiX
2) Adapt the solution to be encapsulated in a WiX merge module.
3) Add the merge module to your InstallShield LE solution:
Augmenting InstallShield using Windows Installer XML - Certificates
If it's going to take you more then a couple days to figure this all out (likely) you might want to just upgrade to IS Professional Edition that has a simple wizard for building an installer that installs a driver.

Related

VS 2013 InstallShield LE setup WIndows 10 Run As Administrator

I am (still) using Visual Studio Professional 2013. I've been using InstallShield LE to create the Setup.exe for a Windows 7 desktop app with no issues. However, when installing the app on Windows 10 machines, the app does not run correctly (can't read my ini files for examples). Changing the exe to "run as Administrator" resolves this.
However, I have to go into every Windows 10 install and change this manually. Not practical.
Is InstallShield LE on 2013 NOT Win-10 compatible (e.g. need to upgrade to VS 2016??) or is there a setting in LE that can be changed for compatibility with Windows 10?
It is possible to modify the ACL on the settings files (during installation) to make them writeable for standard users. This is commonly used, though very undesirable. See issue 14 here in a list of common design problems in MSI files: How do I avoid common design flaws in my WiX / MSI deployment solution?
I doubt Installshield LE has any features for this ACL modification. WiX does, as does the commercial edition of Installshield and Advanced Installer. There are other tools as well that may support it.
Another "solution" that I don't recommend, but that is still used by many: How do I force my .NET application to run as administrator? I suppose this is effectively what you are doing? See this answer as well for an important note (it is a different answer from the same "thread").
The real solution is to re-design your application to not store settings files in the application installation directory, but rather store your settings in HKCU in the registry, or in a settings file stored in the user profile. Regular users can obviously write to these locations.
Not 100% the same, but very related. An answer with a list of options to allow an application to write to HKLM in the registry: Per Machine App Registration. Recommended read / skim.

why is msi installer created using windows installer xml i.e wix only?

I am in serious doubt that why cant we use any language other than wix to create msi installer .
Using the following setup features :
windows installer 3.1
WIX toolset
Windows Installer is a Windows platform service that consists of a client, service, API, database specification and SDK.
The primary database types are .MSI (installer), .MSM (merge module), .MSP (patch), .MST (transform), .CUB (unit tests) .PCP (patch source code) and maybe more I've forgotten.
Windows Installer XML is an XML / XSD language and compiler that transforms the XML into Windows Installer databases.
There are other tools available that create Windows Installer databases. The 800lb Gorilla of which is InstallShield. A comprehensive list can be found at:
Windows Installer Authoring Tools for Developers

How to install new hardware drivers so when it is plugged in for the first time, windows will know to find the drivers automatically

I want to be able to deploy a project to some of my users the requires a USB-serial adapter. The hard way is to give them the drivers and tell them to plug in the adapter and when prompted, they will have to locate the files manually. I don't want to do that.
Most install shields know how to do that automatically - you install the software, plug in the new hardware and windows will automatically install the correct drivers. This is the solution I want, only without an install shield. What are my options?
Checkout:
FAQ: Information about Driver Install Frameworks Tools
InstallShield has support creating installers that leverage DIFx ( Driver Installation Framework ). If you don't want to buy/use InstallShield, you can also take a look at Windows Installer XML (WiX). It also has extensions that support DIFx.
Drivers Installation With WiX

Checking for and installing prereqs with Install Shield

I'm creating my first install using the Install Shield version that ships with VS 2010.
On vista and 7 only the .NET 4.0 client is required, but on XP my application reqires:
.NET 2.0 (I think this is required
for the following prereqs)
XP Update KB968930 (Windows
Management Framework Core)
XP Update KB971513 (Microsoft Active
Accessibility Package)
SAPI 5.1 (Text to Speech and Speech
Recognition)
When testing the application I've just manually run the exe for each of those (for SAPI I used the old SAPI 5.1 sdk to make sure it's installed which seems overkill). I was thinking of just creating an exe file which would run all four executables and then run the installer (or I think I could via a VB Script inside Install Shield?)
I'm wondering if there is a cleaner way to check for these, prompt the user for each one, and then quietly install as part of the install using Install Shield? Or just a simple way to package them into an install.
Thanks for your help!!
InstallShield 2010 Limited Edition uses .PRQ files but doesn't come with a PRQ editor. You have a few options:
1) Work out the XML schema ( there's no XSD provided ) for the .PRQ files and edit it by hand and update the ISM XML by hand to reference the newly added PRQ files.
2) Spend about $1500 to upgrade to InstallShield 2010 Professional Edition.
3) Evaluate InstallShield 2010 Pro to generate the PRQ files and update the ISM by hand to reference the PRQ files ( way easier then #1 but still not for the faint of heart )
4) Engage a consultant to help you get this done. :-)

What does the EXE do in the Visual Studio setup project output

We are working on a winforms app in Visual Studio 2005 and the setup project we created output both an MSI and an EXE. We aren't sure what the EXE file is used for because we are able to install without the EXE.
It's a bootstrapper that checks to make sure that the .NET Framework is installed, before launching the MSI. It's pretty handy.
I suggest using something like SFX Compiler to package the two together into one self-extracting .exe and then launch the extracted setup.exe. This way you retain the benefits of the bootstrapper, but your users only download a single thing.
Edit: also see
The official line: MSDN documentation
Some bootstrapper customization: some guy's blog post about what he did
The EXE checks if Windows Installer 3.0 is present and downloads and installs it if it's not. It's needed only for Windows 2000 or older. Windows XP and newer all have Windows Installer 3.0 out of the box.
Other prerequisites, like .NET, are checked for by the MSI itself.
I think the EXE is just a wrapper/bootstrapper for the MSI in case you don't have Window Installer. If you have the requisite Windows Installer version installed then the MSI should work fine on its own.

Resources