Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Basic FAQ


No replies to this topic

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 23 March 2004 - 15:42

The Basic Question & Answers


NOTES: There's also a lot of good information at the following locations:

  1. On the main InstallSite page under the "InstallScript Samples" and the "IS Pro Tools & Tips" sections.
  2. On the InstallShield Knowledge Base and its InstallShield Professional 6.31 articles.
  • Q) How can I tell which version of Windows my InstallShield Professional setup is being ran on?

    Differentiating between the various versions of Windows is easy. They work out to be the following:
    .
    • KEY: vMAJOR.MINOR = Windows Release
    • v4.0 = Windows NT 4.0
    • v5.0 = Windows 2000
    • v5.1 = Windows XP x86
    • v5.2 = Windows XP x64 -or- Windows Server 2003
    • v6.0 = Windows Vista -or- Windows Server 2008
    • v6.1 = Windows 7 -or- Windows Server 2008 R2
    • v6.2 = Windows 8.0 -or- Windows Server 2012
    • v6.3 = Windows 8.1 -or- Windows Server 2012 R2 {NOTE: For compatibility, InstallShield actually still sees this OS as "v6.2".)
    • v10.0 = Windows 10 -or- Windows Server 2016 (Expected Q3 2016 Release) {NOTE: For compatibility, InstallShield actually still sees this OS as "v6.2".)
    .
    This can be cross-checked from you setup using the GetSystemInfo(OSMAJOR, nResult, szResult) and GetSystemInfo(OSMINOR, nResult, szResult) calls within InstallShield Professional.
  • Q) How can I tell which edition of Windows my InstallShield Professional setup is being ran on?

    Unfortunately, differentiating between the various editions of a release is NOT as easy. For example, detecting Home Edition vs Professional.

    Now I've personally not implemented such checks in my setups, but based on my research, I'm told the easiest way is to call the GetVersionEx Windows API. If the VER_SUITE_PERSONAL flag is set in the OSVERSIONINFOEX structure, then it's Home Edition.

    For more information on this call and the associated structure, check out this MSDN page.
  • Q) Which version of InstallShield Professional supports Windows XP?

    A) InstallShield Professional v6.31 & higher supports Windows XP, and allow for XP to be selected as a valid OS for the project settings.
  • Q) What privilege level does one need for my InstallShield Professional setup?

    A) The user installing such setups ALWAYS needs administrator privileges.
  • Q) How do I launch a Windows Installer-based .MSI setup from my InstallShield Professional setup?

    A) An .MSI file is not executable by itself. You must run the following:

    msiexec.exe /i msiname.msi

    The resulting code being LaunchAppAndWait(<FilePath> ^ "msiexec.exe", " /i msiname.msi", WAIT);.
  • Q) How can I have a single executable for my InstallShield Professional setup?

    A) You can either download InstallShield's free PackageForTheWeb utility to do this, or simply change your project's media to make use of the built-in Packaging option.
  • Q) With packaged media, how can I pass command-line arguments to the underlying InstallShield Professional setup?

    A) In the packaged scenario, you need to preceed the setup's internal switches with a -a, meaning additional, so that the wrapper properly passes them down to the underyling IS setup.

    Therefore, in the case of trying to run a setup in silent mode, you would run the following:

    <SelfExtractingPackage.exe> -a -s
  • Q) With packaged media, how can I retrieve the package's original location from my underlying InstallShield Professional setup?

    A) Due to the packaging process, the system variable SRCDIR will contain the temporary path from which your InstallShield Professional setup is extracted and ran.

    Therefore, you would instead rely on the system variable PACKAGE_LOCATION as it would contain the original location of the package. However, this item wasn't introduced until later versions of InstallShield Professional (i.e. ~v10), so unfortunately this information is unavailable in the older releases (i.e. v6).
  • Q) How can I programmatically modify the permissions on a directory/folder from my InstallShield Professional setup?

    A) Unfortunately, InstallShield Professional has no built-in support for modifying the permissions of a directory/folder.

    However, Microsoft has an extended command-line utility for accomplishing this along with a nice write up describing how it works. For more information, check out the corresponding Knowledge Base article:

    How to Use Xcacls.exe to Modify NTFS Permissions
  • Q) How can I determine which version of the .NET Framework is installed from my InstallShield Professional setup?

    A) Check out this Microsoft Knowledge Base article on the subject.
  • Q) Where does the uninstall entry for my InstallShield Professional setup reside in the registry?

    A) By default, the uninstall entry is written to HKLM\Windows\CurrentVersion\Uninstall\<ProductGUID> where ProductGUID is the GUID of your project and available from the Application tab of the Project | Settings dialog. The system variable PRODUCT_GUID also hold this value.
  • Q) How do I control the <InsertItemHere> for the Add/Remove Programs (ARP) entry of my InstallShield Professional setup?

    A) There are a variety of registry values that control what's displayed in the Add/Remove Programs. Here are the main ones:
    - DisplayIcon = A string value that controls the icon displayed beside the ARP entry and contains the fully qualified path for an executable/icon file (e.g. DISK1TARGET ^ "setup.exe").
    - DisplayName = A string value that controls the name displayed beside the ARP entry and contains some name (e.g. @PRODUCT_NAME). To hide your uninstall entry, simply delete/rename this registry value.
    - DisplayVersion = A string value that controls the version information for the ARP entry's support information link and contains some version number (e.g. @PRODUCT_VERSION).
    - UninstallString = A string value that controls the command launched for the ARP entry and contains the fully qualified path for some program (e.g. UNINSTALL_STRING).

    For a more complete listing, look this "Extended Information in Add/Remove Program Control Panel" sample.
  • Q) Where does the supporting uninstall information for my InstallShield Professional setup reside on the system?

    A) By default, the supporting uninstall information (e.g. data1.cab, setup.*, an uninstall log, etc.) is stored under PROGRAMFILES\InstallShield Installation Information\PRODUCT_GUID.

.
.
If you have suggestions for this FAQ, please send me a PM with your thoughts. Thank you.


Edited by Taco Bell, 04 April 2016 - 18:33.

user posted image