GithubHelp home page GithubHelp logo

Comments (7)

robmen avatar robmen commented on July 20, 2024 1

A workaround that might work is to define your MsiProperty with an undefined variable reference. Like MsiProperty Value='[THISISNOTAVARIABLE]'. At compile time, the value will not be empty, and at install time, the value will resolve to an empty string as you desire.

I have not tested this, so it is possible Burn v4 was changed to ignore properties that resolve to blank. But it's worth a shot. Let us know if that works.

from issues.

chrpai avatar chrpai commented on July 20, 2024

I'm trying to understand the gap your trying to solve. You mention silent install so presumably these are public properties (All CAPS) and more specifically Secure Custom Public Properties listed in the SecureCustomPublicProperties property. Just add the Secure attribute and the error should go away.

If this is not a property passed at the command line (private property) then just remove the property. If something is setting the property during the install it can do so dynamically. The property doesn't need to exist in the property table.

Is there some other scenario I'm not thinking of?

from issues.

DarrelF avatar DarrelF commented on July 20, 2024

I am trying to install the MariaDB MSI by chaining it into the WiX Bundle as follows:

`

  <!-- Install MariaDB.                               -->
  <MsiPackage SourceFile="$(var.ProjectDir)\Redistributables\mariadb-10.11.5-winx64.msi" Permanent="yes" Visible="no" Vital="yes">
    <MsiProperty Name="CLEANUPDATA" Value="" />

   . . .

`
The MsiProperty with an empty Value produces a WiX compiler error.

I interpret the MariaDB Silent Install documentation as needing CLEANUPDATA to be defined as a public property with an empty value to have the boolean value false. (See https://mariadb.com/kb/en/installing-mariadb-msi-packages-on-windows/#silent-installation)

from issues.

chrpai avatar chrpai commented on July 20, 2024

If your never going to pass a value then don't pass the property at all. If your going to have some kind of UI in the bootstrapper to let the user selelct the value or let them pass it from the command line to the bootstrapper then define a WiXVariable and assign that to the MsiProperty.

from issues.

barnson avatar barnson commented on July 20, 2024

Needs to allow overriding a default (e.g., =1) with a value that indicates false (typically 0 but MSI uses a lot of empty strings to indicate false).

from issues.

DarrelF avatar DarrelF commented on July 20, 2024

It appears not to work. While it compiles without error, I see the following in the MariaDB .log file (CLEANUPDATA is the MsiProperty I am trying to set to an empty string):

`MSI (s) (40:F8) [12:23:01:118]: Command Line: CLEANUPDATA= DATADIR=C:\ProgramData. . .

. . .

MSI (s) (40:F8) [12:23:01:124]: Product installation will be elevated because user is admin and product is being installed per-machine.
MSI (s) (40:F8) [12:23:01:124]: Running product '{A5340DA7-FAD1-4775-86A7-3E165A5A5449}' with elevated privileges: Product is assigned.
MSI (s) (40:F8) [12:23:01:124]: PROPERTY CHANGE: Deleting CLEANUPDATA property. Its current value is '1'.

`
So even though I set it is still indicating a value of '1', which means it is true. I am not sure why it indicates it is "Deleting" it.

from issues.

AlexHolly avatar AlexHolly commented on July 20, 2024

I get the same log messages but it works in my case. The Data folder is still there after mariadb uninstall.

        <Property Id="CLEANUPDATAPROPERTY" Secure="yes" />`
        ...
        <MsiProperty Name="CLEANUPDATA" Value="[CLEANUPDATAPROPERTY]" />

from issues.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.