Loading
difference between ARP and re-running setup.exe
This is baffling. Here goes:

 

BasicMSI project

 

All features are set to "disallow advertise."

 

Scenarios:

 

I install my product, and restart. ----

 

-I then re-run Setup.exe (with cmdline parameters for logging) to enter maintenance mode.

 

-I opt for "Modify." The custom setup selection tree is properly initialized.

 

-I alter the install state for several features, [Next] [Next] [Finish]

 

the proper modifications are made to the system.

 

-I re-run Setup.exe again.

 

-Again, the customSetup selection tree is initialized with the proper feature states.

 

----

 

-I open "Programs and Features".

 

-I select my product, and click "Change" to enter maintenance mode.

 

-I opt for "Modify." The custom setup selection tree has all feature states set to "Advertise!!!!!!"

 

For debugging purposes, i tried running the "modifypath" from the registry, but with /lv "filepath" appended for logging and observe the same behavior. I took logs of two identical sessions invoked differently, (ran a few regular expression find/replace iterations to filter out timestamps, etc) and 'diff'ed them.

 

The order of actions was the same between the two sessions. The first difference that appears to matter is that within the MaintenanceWelcome action the line

 

MSI: PROPERTY CHANGE: Adding MsiSelectionTreeSelectedAction property. Its value is '1'.

 

has a '3' in the log of the session wit hthe proper behavior.

 

If i understand the meaning of that line, however, it's evidence of the symptom, and not the source of the problem.

 

Does anybody have any kind of hint as to what would cause this discrepency in invocation methods?

  • Here's that section:

     

    [CODE]

     

    MSI (c) (2C:90) [09:55:05:442]: Doing action: MaintenanceWelcome

     

    Action start 9:55:05: MaintenanceWelcome.

     

    MSI (c) (2C:94) [09:55:05:458]: PROPERTY CHANGE: Modifying CostingComplete property. Its current value is '0'. Its new value: '1'.

     

    MSI (c) (2C:94) [09:55:05:458]: Note: 1: 2205 2: 3: BindImage

     

    MSI (c) (2C:94) [09:55:05:458]: Note: 1: 2205 2: 3: PublishComponent

     

    MSI (c) (2C:94) [09:55:05:458]: Note: 1: 2205 2: 3: SelfReg

     

    MSI (c) (2C:94) [09:55:05:458]: Note: 1: 2262 2: Extension 3: -2147287038

     

    MSI (c) (2C:94) [09:55:05:458]: Note: 1: 2205 2: 3: Font

     

    MSI (c) (2C:94) [09:55:05:473]: Note: 1: 2727 2:

     

    Info 2898.For MSSansBold8 textstyle, the system created a 'Tahoma' font, in 0 character set.

     

    Info 2898.For MSSWhiteSerif8 textstyle, the system created a 'Tahoma' font, in 0 character set.

     

    MSI (c) (2C:24) [09:55:08:531]: PROPERTY CHANGE: Adding _IsMaintenance property. Its value is 'Change'.

     

    MSI (c) (2C:24) [09:55:09:748]: PROPERTY CHANGE: Modifying ProgressType0 property. Its current value is 'install'. Its new value: 'Modify'.

     

    MSI (c) (2C:24) [09:55:09:748]: PROPERTY CHANGE: Modifying ProgressType1 property. Its current value is 'Installing'. Its new value: 'Modifying'.

     

    MSI (c) (2C:24) [09:55:09:748]: PROPERTY CHANGE: Modifying ProgressType2 property. Its current value is 'installed'. Its new value: 'modified'.

     

    MSI (c) (2C:24) [09:55:09:748]: PROPERTY CHANGE: Modifying ProgressType3 property. Its current value is 'installs'. Its new value: 'modifies'.

     

    MSI (c) (2C:24) [09:55:09:748]: PROPERTY CHANGE: Adding MsiSelectionTreeSelectedFeature property. Its value is 'DocSDK'.

     

    MSI (c) (2C:24) [09:55:09:748]: PROPERTY CHANGE: Adding MsiSelectionTreeSelectedAction property. Its value is '1'.

     

    MSI (c) (2C:24) [09:55:09:748]: PROPERTY CHANGE: Adding MsiSelectionTreeSelectedCost property. Its value is '0'.

     

    MSI (c) (2C:24) [09:55:10:247]: Note: 1: 2727 2:

     

    MSI (c) (2C:24) [09:55:10:762]: Note: 1: 2727 2:

     

    MSI (c) (2C:24) [09:55:11:261]: Note: 1: 2727 2:

     

    MSI (c) (2C:24) [09:55:11:776]: Note: 1: 2727 2:

     

    MSI (c) (2C:24) [09:55:12:540]: Doing action: ISSetupFilesCleanup

     

    Action start 9:55:12: ISSetupFilesCleanup.

     

    MSI (c) (2C:C4) [09:55:12:540]: Invoking remote custom action. DLL: C:\Users\mkelter\AppData\Local\Temp\MSI6147.tmp, Entrypoint: SFCleanupEx

     

    Action ended 9:55:12: ISSetupFilesCleanup. Return value 1.

     

    Action ended 9:55:12: MaintenanceWelcome. Return value 2.[/CODE]

     

    And also the two full logs as attachments (with company and product names changed to protect the innocent.) Let me know what you make of it...i'm befuddled.

     

    Just to clarify the dialog sequence,

     

    MaintenanceWelcome

     

    MaintenanceType

     

    CustomSetup

     

    logCM.txt is the log when invoked from "Programs and Features". "install.txt" is the log from re-running the .exe.
    Expand Post
  • Perhaps a more specific question might get us where we're going:

     

    If, during an upgrade, the Install States of the package's features are updated on MigrateFeatureStates, then what action sets feature states during a "Modify" operation? My best guess would be CostFinalize, but this runs before the dialog sequence in both cases...

     

    Darned thing worked just great when re-running the setup launcher...
    Expand Post
  • I noticed one difference between the logs that might be significant: When run from "Programs and Features," the installer deletes the ALLUSERS property after the SetupInitialization action. I think this might be causeing the problem, because the setup may be looking for feature installstate information in the Per-User location instead of the Per-Machine location.

     

    I tried adding ALLUSERS to the SecureCustomProperties property, but this didn't change the behavior.

     

    I then tried adding an action after SetupInitialization to reset ALLUSERS to 1. The log shows ALLUSERS being deleted, then reset by my CA, then deleted again later on.

     

    Next, I removed the entry from SecureCustomProperties, and had the same result.

     

    I then tried resetting ALLUSERS just prior to SetupInitialization, still no dice.

     

    This problem doesn't manifest itself in XP. ALLUSERS doesn't get automatically cleared, and the install states are reflected accurately in CustomSetup.

     

    Why does ALLUSERS get deleted? Why does it only get deleted when the installation is run from "Programs and Features?" Am I on the right track as far as this being a possible cause for the CustomSetup behavior discrepency?

     

    More importantly, how do i get "ALLUSERS" to persist!?
    Expand Post
  • Okay, so i finally found this thread

     

    http://community.installshield.com/showthread.php?t=172412

     

    and used the silly owrkaround suggested there. Namely, i created several CAs which set the ALLUSERS property after every action that resets it.

     

    This is pretty rediculous, I must say, expecially since there's no real explanation for this behavior in the first place...i don't see a circumstance where it would be desireable without some much better determinism in the background.
    Expand Post
  • Okay, so resetting the ALLUSERS property didn't work. I used the hotfix suggested in the thread mentioned in my previous post, and that didn't work either. ALLUSERS no longer gets reset, however, the CustomSetup mis-behavior persists.

     

    The problem does not exist on XP. It oonly mis-behaves on Vista, and only when doing a "modify" from "Programs and Features." This sounds like an IS bug unless someone has another suggestion.

     

    Please, if one of you whicked smaht guys can help out here, I'd be psyched, andi woudln't have to call in a support issue.

     

    Thanks in advance.
    Expand Post
  • I tried that hotfix...

     

    " I used the hotfix suggested in the thread mentioned in my previous post, and that didn't work either. ALLUSERS no longer gets reset, however, the CustomSetup mis-behavior persists.

     

    "

     

    So the CustomSetup Selection Tree misbehavior is persisting despite the good behavior of the ALLUSERS property...
    Expand Post
  • On closer inspection, I'm not familiar with these types of lines:

     

    MSI (c) (64:CC) [09:54:37:674]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:38:189]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:38:704]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:39:219]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:39:733]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:40:248]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:40:763]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:41:262]: Note: 1: 2727 2:

     

    MSI (c) (64:CC) [09:54:41:777]: Note: 1: 2727 2:

     

    That error indicates that the Directory table entry is invalid. I'm not sure how you're encountering this.

     

    What exactly are you doing in that dialog?

     

    Do you have screenshot perhaps?
    Expand Post
10 of 23

Loading
difference between ARP and re-running setup.exe