Unselected Feature Being Installed

后端 未结 2 588
难免孤独
难免孤独 2020-12-03 20:05

I\'ve been shoved into a DevOps position at work with very little knowledge about InstallShield or what I\'m doing. Everything I\'ve learned I\'ve learned by doing and readi

2条回答
  •  南方客
    南方客 (楼主)
    2020-12-03 20:49

    Short Version:

    • Feature F might be set as a required feature for Feature 1 (and possibly others).
    • Please check the Required Features value for Feature 1.
    • To do so, just go to the Features view and select Feature 1 - then look at the Required Features value. If Feature F is listed there, then that would cause the behavior you see.

    Error, Error - The Matrix's Got You :-): I wrote a long answer on how feature selection can be affected by many things for Basic MSI projects, but reading your question again I am almost convinced this is an Installscript MSI project and not a Basic MSI project at all, and the reason is the feature dialog behavior that you describe.

    Installscript MSI: The top left of the Installshield application window will reveal the project type. It will say something like: "My Project Name-1 - Installshield [InstallScript MSI Project]. Could you please verify what it says? (the last part - inside the brackets - is the key). The handling of features is quite different in the two project types. Installscript MSI projects features custom Installshield dialogs (Win32 dialogs), versus the standard Windows Installer dialogs of Basic MSI projects (defined in tables). I dislike Installscript MSI projects intensely - I find them buggy, but they do have some nice features. I would not use them though. Subjective opinion. Basic MSI projects are standard MSI files and much better for corporate deployment.

    "Required Features": When you view the features view in Installshield for an Installscript MSI project, you have more options available than for a Basic MSI project. The Required Features setting in particular wraps a lot of functionality to allow features to be interdependent of each other - something that has to be implemented by yourself in Basic MSI projects in quite a different way. This field is the key to the feature selection behavior you are seeing - I am pretty sure of that. See below for suggested approach forward.

    Logging: In order to enable logging, please try to open your project, then go to Build => Settings... => MSI Log File, now click All Error Messages and Verbose Output and type a file name in the Log File box. Click OK. Now try to build and run your project.

    Summary:

    1. I would verify what the project type really is. Installscript MSI - probably.
    2. Upon verifying that it is an Installscript MSI project, I would open the Feature view and check the Required Features value for each feature in sequence.
    3. My guess is that all the logic is "automagic" from Installshield - you simply define for each feature what other features it requires by tweaking the "Required Features" value.
    4. It would seem that as long as you don't require any other logic, Installshield takes care of the feature selection "automagically" and you get a fully functional feature selection dialog - provided you have defined feature dependencies correctly.
    5. I have not done any customization of Installscript MSI dialogs, so I can't really help you there outright, but I am pretty sure tweaking the "Required Features" value should be a good starting point to figure out what you need.
    6. Could you also please check the Installscript view to see if there is any custom code there related to the GUI? And you might want to check the Custom Actions & Sequences view as well - to check for any custom logic implemented in other ways (VBScripts, PowerShell, JavaScript, etc...).

提交回复
热议问题