#3035 Issue on Windows 8 Release Preview

v3.5
closed
nobody
None
2014-08-17
2012-07-19
Anonymous
No

Hi guys,

I'm cross-posting as I'm pretty sure this is an issue with Windows 8 OS rather than WIX and if there are any Windows Installer guys here it may also be picked up. MS ((http://answers.microsoft.com/en-us/windows/forum/windows_8-windows_install/issue-with-windows-installer-custom-action/4f9de033-600a-47e1-9cea-67be34852b8b)

I have a installer which uses a custom action type 1 to install on our flagship products. It works on pretty much every OS except for WIndows 8.

Windows 7 Log
Action ended 14:53:44: DuplicateFiles. Return value 1.
MSI (s) (90:AC) [14:53:44:392]: Skipping action: <Action Name="" Removed=""> (condition is false)

Windows 8 Log
Action ended 14:45:50: DuplicateFiles. Return value 1.
MSI (s) (58:10) [14:45:50:082]: Doing action: <Action Name="" Removed="">
Action 14:45:50: <Action Name="" Removed=""> .
Action start 14:45:50: <Action Name="" Removed=""> .

The logic in the InstallExecuteSequence table for the action is defined as: "NOT TOKEN AND NOT Installed" and the value is being set further up the chain:

Property(C): TOKEN = e4b64726-0358-4426-9fea-b8de0f579b11

What is interesting is that if I make it so it calls this action multiple times (once from a UI and once from a silent install), it seems that public values which are populated are no longer available once they get into the later actions.

Is this a known bug?

Discussion

  • Bob Arnson
    Bob Arnson
    2012-07-19

    Sounds like TOKEN isn't marked Secure="yes" so the value isn't passed into the MSI server process. Either way, though, it's not related to WiX.

     

  • Anonymous
    2012-07-20

    Should it need to be? It didn't need to be Secure for Windows 7 or any other OS.

     
  • Bob Arnson
    Bob Arnson
    2012-07-21

    It depends on how you're setting it.

     

  • Anonymous
    2012-07-21

    Basically I have a CA which is run in both InstallUI and InstallExecute sequences, if a UI is loaded, the value will already be set when it gets to the execute phase, so won't need to run the CA. If it's run silently it will run in InstallExecute mode i.e it will never run twice. The condition of that value means it should never happen.

     
  • Bob Arnson
    Bob Arnson
    2012-07-22

    That should work, as long as it's an immediate custom action (the only kind that can set properties) and scheduled in InstallExecuteSequence before the one using the property in a condition. Get a verbose log (/l*vx) and look for the property name; MSI logs any changes to the property so you can see if the CA is being called and sets the property.

     

  • Anonymous
    2012-07-23

    The CA is being called, and the value is being set. But it's as if the value isn't being persisted in Windows 8, so it's if the evaulation of condition failed or never happened.

    The CA is definitely being called twice when it shouldn't (issue 1), but given it's the same CA and all the values should already have been set it should work anyhow (it's failing saying a dependent value doesn't exist), yet it's clearly in the log file. It's as if any properties which are populated inside the install (via GUI or via CA) are completely ignored.

     
  • Bob Arnson
    Bob Arnson
    2012-07-23

    Yep, smells like an MSI bug.

     

  • Anonymous
    2012-07-25

    Thanks.

    Is there a specific forum to place this with the Windows 8 / Windows Installer team? Sounds weird that this was in the Release Preview, as I'd have thought they've have seen it.

    Or whether it's an issue as the CA is managed in nature..

    Food for thought.

    Cheers,
    J

     
  • Bob Arnson
    Bob Arnson
    2012-07-25

    AFAIK, the only official place is http://answers.microsoft.com/en-us/windows/forum/windows_8. They're likely to want to know it repros with a "normal" CA type; have you tried a no-op C++ or script CA, just to confirm?

     
  • Rob Mensching
    Rob Mensching
    2012-07-28

    This is not a WiX issue. If you'd like to continue conversation about this, feel free to use the wix-users@lists.sourceforge.net maliing list.