►
From YouTube: WiX Online Meeting 235
Description
WiX Online Meeting 235
May 12, 2022, 9:30 AM PST
C
A
A
A
A
And
I
couldn't
they're
all
really
really
really
really
bad,
but
I
did
learn
that
there's
a
a
difference
between
the
american
bob,
the
builder
and
the
british
bob,
the
builder,
the
british
one
being
first,
I
believe
the
british
bob,
the
builder
says,
can
we
fix
it
and
the
american
bob
the
builder
says:
can
we
build
it.
A
A
A
A
A
A
D
I
don't
it's
it's
yeah
speakerphone
type
thing.
Oh.
D
Interesting,
if
I
had,
if
I'd
had
more,
I
changed
computers,
and
I
this
is
the
first
works
meeting
since.
A
A
I
think
that's
the
right
idea,
all
right.
We
have
people
here
hanging
out
talking
doing
all
that
kind
of
good
stuff,
and
now
let's
go
ahead
and
get
this
going
three
two
one.
Oh
wait!
Right
as
I
said
that
jacob
said
hello,
I
feel
vindicated
at
9
35.
we're
just
talking
about
you
jacob
great
to
have
you
here,
anzac
and
ron
three
two
one
good
morning
good
afternoon
good
evening.
This
is
the
wix
online
meeting
235
may
12th.
A
This
meeting
is
being
recorded
for
those
of
you
that
aren't
with
us
right
here
right
now.
What
are
we
doing
today?
We're
basically
picking
up
where
we
left
off
last
week
and
we're
doing
triage,
because
that's
what
we're
doing
as
we're
trying
to
finish
wix?
Four:
it's
not
a
terribly
exciting
agenda,
but
that's
the
agenda
we'll
see
if
triage
itself
can
provide
a
little
bit
of
excitement
because
it
did
certainly
last
week
in
case
I
didn't
say
it
already.
These
meetings
are
recorded
for
those
of
you
that
aren't
with
us
right
here.
A
Right
now,
in
person
it's
great
to
have
ron,
zach
and
jacob,
I
feel
like
we're
building
a
bit
of
a
chat
crew.
I
like
it.
It's
awesome
you're
welcome
to
join
us.
If
you
can,
I
know
this
time.
Slot
doesn't
work
for
the
entire
world,
so
hopefully
I
gave
enough
time
there
for
bob
to
get
all
set
to
do
triage
ready
to
go
bob
sure.
Why
not
sure
why
not?
I
love
it.
Excitement
we'll
start
at
the
top
and
we'll
work
our
way
down.
A
B
C
B
C
A
A
A
A
And
votive
was
using
is
using
a
very
old
system
called
mpf
to
communicate
with
visual
studio
and
that
very
old
system
has
a
very
old
bug
in
it.
That
was
throwing
an
exception
which
previously
was
ignored,
and
then,
when
visual
studio
made
this
change
in
17.2,
they
became
exposed
to
this
bug,
and
anybody
that
was
using
mpf,
because
the
way
that
you
used
mpf
was
visual.
Visual
studio
gave
it
to
everybody,
a
source
code
and
said
here
copy
it
have
fun.
With
that.
A
I
we
helped
them
understand
that
everybody
that
used
this
old
thing,
which
was
the
way
you
used
to
do
it.
So
that
could
be
a
lot.
We're
gonna
have
this
problem,
so
they
created
a
workaround
inside
visual
studio
to
catch
when
this
happens
for
people
using
old
mpf
projects.
With
this
bug-
and
we
did
a
fix-
I
fire
giant-
took
time-
did
a
fix
and
have
a
new
votive
build
out
that
has
fixed
votives
copy
of
mpf
proj.
A
That's
kind
of
the
story
behind
all
of
this.
The
severity
dropped
on
our
side
to
get
it
done
once
visual
studio
realized
that
they
were
going
to
get
hit
with
this
bug
all
over
the
place,
and
we
were
just
the
first
one
and
we
fixed
it
on
our
side
because
well
probably
should
so.
I
guess
that's
what
we
did
all
right.
A
So
that's
the
story
of
this
one,
just
gonna,
let
it
sit
out
there
for
a
little
bit,
hopefully
get
some
people
to
try
it,
although
with
the
visual
studio
fix,
probably
isn't
gonna
do
anything
and
eventually
it
will
probably
push
a
visual
studio,
2022
votive
to
the
marketplace
so
that
I
don't,
since
we
have
to
fix
it
here
anyway.
So
there's
the
very
long
story
of
what
came
down
to
this
and,
in
the
end,
hopefully
help
visual
studio
handle
a
lot
more
extensions
crashing
all
over
the
place.
A
A
C
Take
away
sean
so
are
we
going
to
talk
about
the
whip
or.
A
C
D
C
C
That
burn
will
populate
with
the
display
version
during
detect
and
then,
if
you
scroll
down
a
little
bit,
I
showed
an
example
of
how
you
might
use
that
so
like.
If
you
want
to
do
it,
where
it's
matching
exact
version,
then
you
would
say
that's
equal
to
the
version
that
you
know
it
is,
and
then
you
have
an
install
condition,
so
it
only
installs
it
if
it's
needs
to
be
installed
and
then
bob
was
bringing
up
a
different
way
of
doing
it
below
where
you
just
want
to
detect
whether
it's
any
version
or
higher.
C
But
then
my
problem
with
doing
that
is
that
you're
really
changing
on
xc
package
works
because
you
shouldn't
provide
it
to
tech
condition.
If
we're
doing
that
and
then
it
didn't
make
sense
to
me
to
be
running
it
with
the
uninstall
arguments.
If
you
had
source,
because
at
that
point,
you're
really
treating
the
arp
entry
as
the
source
of
truth.
A
But
yeah,
if
you
don't
want
them,
don't
add
them
all
right.
It's
just
it's
a
it's!
The
one
case
I
could
come
up
with
where
you
might
want
to
add
arguments
in
the
bundle
independent
or
you
know,
use
the
uninstall
string
because
that's
like,
if
you
launch
it
from
admin
programs
that
you're
going
to
use-
and
I
add
this
extra
switch
to
say
uninstalling
in
the
context
of
my
bundle
switch,
so
you
can
get
both
or
you'd
have
to
duplicate
them.
A
D
Yeah
I'd
be
okay
with
with
not
allowing
uninstall
arguments.
If
you
have
arbentry
it
it,
you
would
lose.
I
mean
I,
I
see
the
benefit
of
being
able
to
add
switches,
and
I
would
let
me
back
up
I'd,
be
fine
if
we
either
add
the
arguments
at
the
end
or
don't
allow
them
in
the
former
case.
It's
like
you
know.
If
it's
not
going
to
work,
don't
do
that.
D
This
is
a
recurring
theme
today.
The
the
bundle
author
is
in
control,
so
they
could
add
something
that
is
nonsensical,
but
don't
do
that.
C
D
A
A
D
A
A
A
C
D
C
But
it
sounds
like
we're
definitely
leaning
towards
the
min
version
max
version.
Instead
of
making
the
user
craft
the
detect
condition
themselves.
D
Completely,
like
I
said
it
makes
xc
pack
this
kind
of
xe
package
work
like
msi
packages.
Getting
the
you
know,
no,
no
detect
condition
necessary
and
it
handles
absent
and
obsolete
so
perfect.
From
my
perspective,
plus
one
thumbs
up.
A
A
I
don't
think
people
are
going
to
be
confused
if
they
have
to
put
the
same
number
in
for
men
version
or
max
version
to
say
exactly
this
version,
although
we
could
have
all
the
inclusive
problems
that
we've
had
in
the
past
is
that
inclusive
is
max
version,
inclusive
those
kinds
of
problems.
A
I'm
I
I'm
really
struggling
with
making
this
another
top
level
xe
package.
Given
it's
an
xc
package,
it
it
it's
really
hard
to
say:
oh
you,
oh
you
want
to
use
one
with
the
uninstall
string.
Go
use
this
versus
okay,
you
have
an
xc
package.
Oh
you
want
an
uninstall
string.
Use
this
element.
Add
this
element
underneath
it
and
if
you
do
it,
then
hey
we
take
over
all
this
stuff
for
you
and
you
can't
have
a
detect
condition
and
an
honest
argument
that
feels,
like
you
end
up
in
the
right
place,
faster.
A
D
I'm
I'm
fine
either
way.
Naming
is
a
problem
in
both
cases,
I
think,
as
as
whipped,
it's
probably
easier
to.
D
A
C
A
A
A
C
A
D
They're,
so
annoying
yeah.
No,
no!
It's
it's
really!
Really!
It's
gross
I'd
be
happier
if
we
had,
like
you,
know,
nougat
style
or
v6
style,
the
you
know
brackets
and
parens
to
indicate
in
inclusivity.
I
never
can't.
A
D
Well,
what
I
mean
what
you're
going
to
do
here
is:
is
you
know
the
mid
version
is
probably
going
to
be
the
version
that
you're
shipping
max
version
is
either
that
version
or
the
same
major
version
right
you're
willing
to
tolerate
any
version.
That's
you
know
v1,
but
you
don't
want
to
deal
with.
A
Exactly
it
it's
nonsense,
it
goes
like.
I
guess
anything
above
this
point.
Yeah
the
limit
doesn't
limit.
The
upper
limit
doesn't
limit.
A
A
D
A
D
So
I'm
okay!
If
we
we're
throwing
in
this
extra
support-
and
I
again
I
like
it-
because
it
matches
the
behavior
for
msi
packages,
which
is
what
you
want
when
we're
doing
the
same
thing
right
for
msi
packages.
We
we
have
data
from
msi
that
lets
us
handle
detection
and
we
have
a
set
of
rules.
D
D
D
In
my
mind,
this
simple
one
or
two
attribute
thing
that
covers
the
the
80
90
case
to
oh
now
we
have
10
different
attributes
because
people
wanted
to
plug
in
these.
You
have
5
to
10
features,
yet
we
still
support,
upgrade
and
upgrade
version
where
you
can
get
all
those
things
in
the
bundle
case.
That's
a
ba
or
ba
function.
D
A
My
assumption
is
that,
most
of
the
time
you
want
to
ex
an
exact
version
match
yep,
because
all
of
the
other
things
are
really
cool
are
because
almost
always
you
want
that
and
not
having
the
exact
version
match
ends
up
in
really
kooky
upgrade
scenarios
that
are
not
at
all.
What
you
would
intend
so
exact
version
is
what
you
want,
and
if
you
don't
want
exact
version,
then
you
probably
need
to
think
through
the
whole
scenarios,
and
you
might
need
procedural
code
to
help
you
do
that.
D
A
A
So
this
is
interesting
here,
the
less
than
part
of
this
install
condition.
B
A
A
I
skipped
right
over
that
it's
going
yeah,
okay,
copy
paste
that
in
the
xsd
got
it
if
display
version
is
great.
Okay,
there
we
go
it's
absolute
all
right.
I
see.
A
A
A
I
keep
coming
back
to
the
idea
that
you
know
if
you
specify
detect
condition,
you
could
just
override
what
we're
doing,
but
it's
probably
not
worth
it.
I
was
thinking
the
install
condition
could
then
become
more
complicated
too,
but
we
can
keep
install
condition
the
same
and
just
do
the
obsolete
checking
outside
of
that
yeah.
Okay,.
D
A
A
A
C
A
A
D
A
Yep
yeah
yeah-
it
really
just
comes
down
to
how
much
do
we
trust?
How
much
do
we
want
to
trust
the
other
packages?
Security,
because
you
can't
a
malicious
actor
can't
do
the
wrong
thing
right.
They,
a
malicious
actor,
can't
get
the
user
to
do
wrong
thing
without
having
elevated.
So
I'm
it's
kind
of
like
yeah.
The
user
was
already
put
in
this
situation,
we're
not
the
reason
that
they
got
we're.
Not
the
attack
vector
in
this.
I
guess
is
what
I'd
say
you
had
to
get
in
this
situation.
A
First,
that
said,
security
conscious
users,
interesting
protecting
them
for
themselves,
certainly
is
a
thing
we
could
do.
That
would
be
interesting.
Do
we
know
all
the
secure
directories?
How
does
how
does
it
tell
that
today?
I
thought
it
had
just
like
a
limited
set.
You
could
install
too
for
approved
xe.
A
A
Which
could
be
an
over-the-shoulder
elevation
and
then
in
this
case
that
sean
brought
up
where
the
we're
uninstalling
an
arp
entry
and
it's
on
a
non-secure
location,
then
they'll
get
a
second
or
another
over-the-shoulder
prompt,
saying,
hey.
You
need
to
prop
for
this
too,
which
is
not
a
good
user
experience,
but
well.
The
whole
thing
was
not
good
to
start
with
is
program
files
and
the
package
cache
enough.
D
A
They
put
the
uninstall
next
to
the
user
yeah,
they
don't
keep
it
in
program
files.
Well,
some
keep
it
in
program.
I've
seen,
I
think,
install
shield
things.
I
have
like
a
folder
in
program
files
where
they
put
all
of
their
uninstall
goo
but
yeah.
If
you
put
it
next
to
the
exe,
then
you'll
get
a
second
prompt.
A
If
it's
not
that
hard,
then
the
unprivileged
user
might
not
be
a
member
of
the
administrators
group.
The
unprivileged
user
then
will
get
prompted
for
an
elevation
prompt
to
have
someone
in
the
administrative
groups
approve
the
uninstall
like
this
is
that's
what
uic
does
ron,
so
an
unprivileged
user
will
not
be
able
to
start
any
of
this
process.
A
Well,
they'll
get
a
prompt
to
say:
hey,
you
need
to
elevate,
please
provide
credentials
that
will
let
you
do
that
they
couldn't
install
it
in
the
first
place
either,
and
that
user
would
not
have
been
able
to
install
in
the
first
place
correct,
not
to
a
per
machine
location,
all
right,
yeah,
I'm
not
against
this,
and
if
the
worst
case
is
that
you
get
prompted
again
because
you
put
it
in
a
non-secure
location
at
least
we
can
stand
there
and
go
well
you're
welcome.
A
I
think.
That's
probably
that
and
we
may
have
to
extend
our
list
of
trusted
locations
at
some
point
may
be,
but
I
can't
think
of
what
that
would
be
beyond
the
windows
directory
system
directory
and
to
bob's
point
don't
put
stuff
in
there.
If
you're,
not
windows,
yep
all
right,
interesting,
interesting,
I'm
dying.
A
I
have
not
killed
this
cough
off,
yet
all
right
anything
else,
sean
on
this
one.
C
A
Right,
okay,
so
most
of
the
heavy
lifting
is
because
that
forced
it.
The
rest
of
this
is
able
to
use
that
heavy
lifting
yeah
yeah,
okay,
interesting
all
right,
10
20,
let's
see
where
we
get
in
10
minutes
using
shortcut
property
yields
1909
on
upgrade
to
windows,
issue
number
6773.
A
A
D
A
A
Yeah,
I
I
think
the
answer
to
this
is
windows
broke
something
changed
something
if
they
find
that
there's
something
we
should
do
better
in
wix,
then
by
all
means,
please
bring
this
bug
back.
But
at
this
point
you
know.
A
A
A
All
right
we
still
set
data
which
version
met.
Data
is
wrong
when
invalid,
according
to
spec,
my
first
version
is
valid.
The
metadata
field
is
supposed
to
be
set
to
the
rest
of
the
string,
starting
to
point
where
it's
recognized
as
invalid.
Okay,
this
would
have
been
caught
if
the
native
test
provided
manage
as
well.
This
is
if
the
wix
version
is
invalid.
A
A
C
Yeah,
but
it
I
didn't,
really
look
too
close
at
what
it
returns,
but
it
can
ret
it
can
it's
setting
the
version
to
an
object
yeah,
but
that's
probably.
A
A
A
C
A
A
A
All
right,
I
think
we
should
update
the
spec
so
that
the
wix
version
can
tell
that
there
are
version
parts
not
provided
and
then,
and
then
the
important
part,
of
course,
is
the
comparison
which
says
that
these
two
are
equal.
I
love
the
triple
equals
it's
a
javascript
of
that
these
are
equivalent
because
that's
the
important
part,
because
then
we
can
get
both.
We
can
know
whether
it's
a
valid
semantic
version
of
being
only
three
part
versions
and
also
then
have
the
compare
be
the
same.
A
I
think
because
otherwise
it's
like
you
have
to
go,
write
your
own
parse
function
to
know
no,
I
mean
yeah.
No,
I
agree
that
missing
parts
should
be
treated
as
zero
in
comparisons
totally,
but
I
don't
think
we
should
fill
in
things
that
were
blank
to
zero
at
parsing
just
to
make
someone's
life
harder.
If
they
want
to
know
whether
it
was
there
or
not
does
is
there
a
part?
Is
I
forgot
invalid?
A
Yeah
all
right,
I
think
I
don't
think
we
should
make
people
have
to
re-parse
to
know
if
a
zero
was
provided
or
not.
So
I
don't
think
that's
the
thing.
I
definitely
think
the
comparison
is
important,
though,
because
we
should
be
explicit
that
if
you
don't
specify
it,
then
we're
going
to
trade.
A
zero
1.2.3
is
not
different
from
1.2.3.0..
A
That
would
be
really
complicated,
but
I
don't
think
we
should
chap
the
parsing.
A
A
D
A
C
A
Is
valid
semantic
version?
1.2.3.0
is
not
a
valid
semantic
version.
We
do
a
whole
bunch
of
stuff,
not
a
whole
bunch.
We
there's
a
few
cases
where
we
do
four
part
checks
on
the
waste
tool
set,
but
we
don't
do
any
semver
checks
today
in
the
wix
tool
set.
But
if
we
wanted
to
we'd
want
to
know
whether
they
specified
a
four
part
version,
because
then
we
be
able
to
say
hey
warning
by
the
way,
this
dot
part
that
you
put
on
here
technically
isn't
valid.
C
A
A
No,
do
we
need
to
know
that
in
the
native
code
and
do
the
work
to
implement
that
or
not
I'm
I'm
a
little
more
ambivalent
there,
because
we
don't
write
parsing
code
in
native
code
anymore,
so
the
important
case
that
scenario
is
less
important
than
native
code
and
it's
annoying
to
represent
in
native
code,
where
manage
code
has
a
straightforward
represented.
So
that's
why
I'm
not
as
if
you
said
they
must
be
the
same,
then
that
would
be
the
change
I'd
make.
I
changed
the
native
code
to
differentiate
whether
to
indicate
when
parts
are
missing.
A
So
I
think
if
we
want
to
keep
this,
the
first
part
of
sentence
is
correct.
I
think
the
second
part
of
the
sentence
is
that
you
know
to
make
the
magical
native
code
the
same.
Then
we
should
be
able
to
indicate
in
the
native
code
when
version
parts
are
missing,
because
I
don't
see
any
reason
why
we
should
force
people
to
write
their
own
parser
to
know
again
when
these
three
parts
are
because
I
think
that'll
be
us
not
too
distant
future.
Well,
in
the
some
point
future
how
are
versions
compared
in
the
managed
code?
A
They're,
not
that's,
not
implemented
in
the
managed
code.
Okay,
I
I
thought
about
it,
but
then
I
was
like.
I
don't
need
this
at
all,
so
I
didn't
write
it.
Okay,
you
store
so
so
ron
brings
up.
You
can
bring
the
the
values
assigned
ins,
which
is
a
good
idea,
except
that
the
range
that
we
provide
is
the
full
64-bit
space,
so
negative
one
won't
fit.
A
A
A
C
A
A
A
A
Extension
that
maybe
they
want
to
compare
versions
for
some
reason
sure
right,
yeah,
that's
the
scenario
that
hasn't
happened
yet
I
actually
thought
it
was
going
to
need
it
honestly.
When
we
started
this,
I
thought
I
was
going
to
know
the
comparison
stuff
I
was.
I
was
actually
surprised
at
how
little
of
the
in
the
end,
how
little
was
needed
was
essentially
do
we
need
to
know
if
this
is
valid
or
not,
and
that's
what
it
came
down
to.
A
So
so
I
I
I
don't,
I
don't
know
if
we
should
change
this
bug
or
if
we
should
close
this,
I
don't.
I
don't
think
this
is
the
way
to
go.
I
think.
Instead,
if
we
want
to
preserve
parsing
of
missing
fields
in
native
code,
we
could
do
that.
A
I
I
don't
disagree
with.
I
don't
I
don't
necessarily
agree
with
any
of
that
there
we
they
don't
have
to
be
exactly
the
same.
It
would
be
a
deficiency
in
the
parsing
code
of
the
manage
of
the
native
code
to
that
you'd
not
be
able
to
know
whether
it
parsed
a
zero
for
something
or
not
and
it'd
just
be
like
that's
the
that's
the
weakness
you're
like
yeah.
Okay,
that's
fine!
That's
what
the
native
code
does.
A
C
A
All
right
we're
not
changing
the
managed
code.
I
don't
want
to
lose
the
ability
to
know
this
information.
If
we
do
then
so
the
the
alternative
you're
talking
about
sean
is
to
essentially
not
call
the
thing.
Wix
version
not
based
version
and
just
go,
write
some
parse
function,
which
we
could
do
right.
If
that's
the
goal,
we
could
take
wix
version
out
of
data
and
go
write
it
as
some
parse
function
and
hide
it
completely
like
is
that
the
goal.
A
C
A
Important
for
the
native
code,
the
native
code
only
cares.
So
the
thing
that's
interesting
is
that
the
native
code
is
extremely
or
tries
to
be
extremely.
I
lost
the
word
adaptable
adjustable
helpful.
A
So
the
the
where,
on
the
manage
code,
side
right,
the
goal
is
to
help
the
user
know
that
they
have
an
invalid
version
when
they're
authoring
it
and
to
get
the
parts
set
correctly
so
that
there
they
are
different
on
those
two
fronts.
A
Okay,
just
a
null
part:
well,
no
it
that
doesn't
parse.
So
this
is
example
like
on
the
ui
side
on
the
ui
side
on
the
build
side,
when
the
user
is
operating
against
something
we
try
to
tell
them
hey
by
the
way.
That
was
a
mistake.
You
typed
in
a
mistake
the
dot
dot.
Let's
give
you
an
error
message,
saying:
hey
that
did
not
parse
as
opposed
on
the
burn
side.
A
If
it
got
that
number
because
it
read
it
from
the
registry
and
said
hey,
this
is
a
version
number
and
who
knows
how
it
got
corrupted
into
1.0.
The
hope
is
that
burn
could
would
not
throw
up,
which
is
what
it's
done
in
the
past,
in
some
cases
and
just
killed
the
whole
process
or
whatnot.
It
would
attempt
to
go
forward
with
1.0
and
try
to
at
least
get
to
somewhere
and
sean
said
that
an
invalid
version
would
be
less
than
so.
A
A
What's
my
definition
of
nullable
in
this
case
nullable
is
a
field
or
a
property.
In
this
case,
that's
a
null.
You
went
so
you
went
question
mark
in
c
sharp
nullable
and
when
you
parse
in
the
manage
code,
it
will
set
the
what's
the
last
one
revision,
the
fourth
one.
So
if
you
were
to
parse
1.2.3,
it
would
set
major
to
number
one
minor
to
two
patched
to
3
and
it
would
set
revision
to
null
because
it
was
not
specified.
A
A
A
Let's
see
all
trailing
fields
can
be
nullable
right.
After
the
major
version,
all
trailing
fields
can
be
nullable.
Yes,
that
would
that
would
be
a
valid
version.
One
would
be
a
valid
version.
A
A
I
think
that's,
probably
the
why
these
two
have
why
that
bit
is,
I
think,
that's
the
pivot
on
why
these
two
things
are
why
the
nullable
is
more
important
on
the
managed
side
than
the
native
side.
But
that's
because
the
mashed
site
is.
A
Currently
only
used
for
the
parsing,
I
think
tomorrow
explicit
documentation,
yeah.
I
guess
I.
A
So
it's
I
think
it
calls
out
all
those
cases
and
then
the
invalid
flag,
which
the
managed
code
currently
doesn't
give
back
invalid.
So
it
doesn't
have
that
concept
today,
and
that
was
the
previous
bug
we're
talking
about
of
adding
a
parse
function
so
that
it
would
parse
and
give
you
back
an
invalid
version
that
you
could
then
do
something
with,
because
we
don't
have
the
compare
functions
that
I
don't
know
what
you
would
do
with
an
invalid
wix
version
until
you
had
those
compare
versions.
A
All
right
so
yeah
like
there's
no,
the
manage
code
is
not
in
here,
so
we
could
go
in
and
add
the
manage
code
data
to
this
api.
A
So
we
can
tuck
away
the
tripars
away
from
everything
and
not
expose
the,
which
would
only
expose
the
the
checking
of
to
make
sure
that
it's
a
valid
string
and
then
we
don't
it
doesn't
do
any
of
the
you
know,
storing
and
valid
stuff
in
metadata,
and
things
like
that.
It
just
gives
an
error
message,
saying
hey
by
the
way
or
whatever
it
needs
to
do.
A
A
A
I
will
take
the
code
I'll
put
it
somewhere
else,
so
I
have
it
when
I
need
it
in
the
future
and
I'll
bring
it
back
when
I
have
it
and
we
won't
put
in
data-
and
it
won't
be
part
of
the
api
of
burn
which
honestly
was
sat
and
stared
at
it
for
a
long
time
and
the
whole,
it's
just
not
worth
it
to
expose
it
in
ways
to
data.
If,
if
it's
going
to
be,
if
this
is
the
level
of
things
that
we're
worried
about
yeah,
it's
just
not
worth
it.
A
A
C
Pre-Released
versions,
it's
and
metadata:
you
can
make
it
as
long
as
you
want.
A
A
Or
I
can
go
and
update
for
a
util
to
handle
all
of
the
the
nullable
fields
and
that's
another
way
to
do
it
and
it
just
and
we're
never
going
to
use
that
code,
because
we're
not
going
to
do
the
parsing
level
stuff
in
the
version
util.
But
we
could
do
it
and
add
all
the
extra
cases
for
it
unsigned
64
bit.
C
A
A
There
is
a
bifurcation
in
the
world
that
that
wix
has
accepted
the
parsing
code
and
all
the
stuff
on
the
build
machine
is
written
in
manage
code
and
the
runtime
code
is
on
is
written
in
native
code
to
have
as
human
and
as
few
dependencies
as
possible,
and
we
try
to
do
things
in
the
managed
code
to
make
the
native
codes
life
easier.
So
we
don't
have
to
write
tons
of
parsing
code
on
the
native
code
side.
That's
just
kind
of
generally
the
space
that
we've
come
into.
A
So
don't
reason
not
to
use
negative
one
as
a
null
field.
Negative
one
is
actually
harder
to
use
than
nullable.
A
C
A
Okay,
so
the
that's
fair,
I
mean
to
make
sure
that
the
the
comparison
checks
are
all
valid.
We
definitely
should
do
that
and
that
it
behaves
correctly
totally
agree
with
that.
A
No,
there
are
cases
where
we
compare
the
nullable
if
you
didn't
specify
a
min
version
and
we
compared
to
255
we'd
want
to
make
sure
the
answer
came
back.
Correct.
C
A
A
A
A
A
I
think
the
issue
could
be.
I
think
we
should
keep
the
parce
ability
in
wix
toolset.database
version
now,
if
you
think
it's
important
that
we
should
remove
it
and
not
expose
it
at
all,
then
I'd
be
willing
to
do
that
just
to
avoid
the
whole
problem.
A
Sure,
if,
if
we
had
a
parse
on
wix
version,
then
yeah
it
would
need
to
return.
The
metadata
is
invalid,
because
yeah
totally,
if
there's
a
parse
function
on
it,
yeah
it
needs
to
follow
this
behavior.
I
totally
agree
with
that.
C
A
A
Okay,
I'll
write
a
parse
function
in
here
that
that
returns,
the
wix
version,
as
per
with
all
the
fields
set
into
the
metadata
when
they're
invalid.
That
seems
because
that
lines
us
up
also,
then,
for
when
I'm
betting,
that
can
the
compare
functions
have
to
come
along,
then
the
compare
functions
will
work
correctly.
A
Or
will
yeah
they'll
work
correctly
because
all
the
it'll
be
an
invalid
version?
You'll
be
able
to
get
an
invalid
version
and
the
metadata
will
contain
all
the
fields
and
then
the
comparisons
will
go.
Do
the
right
thing
if
you
compare
the
two
inversion
valid
in
invalid
versions
together
and
have
the
you'll
do
the
comparison
on
the
metadata
fields
right,
that's
the
way
it
works,
yeah
yeah!
That's
what
I
thought
so
that
would
prep
wix
version
to
be
used
to
have
the
compare
functions.
A
I
I
mean
the
tri
parse
is
my
favorite
way
of
parsing.
It's
like
one
of
my
favorite.
The
try
pattern
is
one
of
my
favorite
patterns
in
c
sharp
because
it
does
almost
what
you
want
every
time,
especially
now
that
you
have
out
var
it
lines
up
the
code
perfectly.
If
this
is
that
you
know
try
to
parse
this
get
your
value
out,
if
not
or
if
true,
however,
you
want,
then
it
goes
straight
into
statement
and
you're,
either
putting
out
an
error
message
or
you're
doing
whatever
you
want.
It
works
fantastically.
A
A
All
right
so
we're
going
to
keep
this
one,
but
the
title
changes
that
which
part
parts
can
be
nullable
and
we're
going
to
indicate
they're
available
for
parsing.
And
this
then,
is
we
need
a
parse
on
wix
version
such
that
when
the
metadata
we
need
to
parse
on
midwick's
version
that
follows
the
spec.
That's
essentially
what
that
has
to
be.
D
A
A
A
Fixing
things
making
mix
four
different,
sorry
sean.
You
had
something
wix
three
build
wix,
three
built.
Oh
right,
I
said:
if
we
didn't
have
one
come
out,
we
would
do
one
yep.
I
will
go
bump
that
and
see
what
more
build
machine
decay
I
have
to
maintain,
but
yeah
I
will
go
bump
a
wix
for
build
a
wix.
Three
build
still
did
not
figure
out
what
that
thing
was.
I
thought
we
were
gonna
do,
but
that's
what
I
get
for,
not
writing
it
down.
It
seems
like
if
I
don't
write
it
down.
A
A
A
We'll
do
all
this
again
pick
up
more
bugs
continue
to
make
way
on
progress
into
wix
four,
and
there
will
be
a
wix
three
build
out
in
the
next
few
days,
probably
over
the
weekend
kind
of
thing,
all
right
till
then
you
guys
take
it
easy,
be
back
in
two
weeks.
Bye,
bye,
bye,.
A
Oh,
I
cannot
wait
until
this
cold
is
gone.
This
cough
is
just
annoying
all
right.
Two
weeks
we'll
see
you
guys
later.