Menu

#1276 3.0.4309.0 breaks msi filename compatibility

v3.0
closed
nobody
msbuild (104)
2012-09-15
2008-07-17
No

New output file name notation in 3.0.4309.0 breaks compatibility with user scripts. This break is caused by new localization processing that always adds .Culture to the output file name.

To keep the compatibility do not add culture name to msi file name by default.

Discussion

  • Bob Arnson

    Bob Arnson - 2008-07-17

    Logged In: YES
    user_id=26581
    Originator: NO

    That was an intentional change to support building multiple localized outputs from a single project.

     
  • Ilya Slobodin

    Ilya Slobodin - 2008-07-18

    Logged In: YES
    user_id=1639777
    Originator: YES

    We insist that this is a bug and not a feature request. This change is only required when multiple cultures are built with the single link step.

    We don't request anything new, we just request to keep the naming conventions we are used to.

    Building multiple localized modules with the single link task is a new functionality. And we are ready to modify our scripts to get new functions work but not just to support the new WiX build when we don't need these new functions right now.

    We have lots of scripts that cover functionality that was not implemented in WiX at the time we started to use it. And I guess many other WiX users also have such scripts. My strong opinion that it's not correct to force users to modify their existing script base when they do not want to use these new functions.

    This change is only required when multiple cultures are used. When single culture is used we'd like to have the old-style naming for backward compatibility or at least the option to select old or new naming.

    Unfortunately, the implementation of LinkUnlocalizedProject and LinkLocalizedProject is not flexible. We have no option, if we have culture set we get into LinkLocalizedProject and we cannot override the output name as the name composition is hard-coded

    OutputFile="$(TargetDir)$(TargetName).%(EmbeddedResourceWithCulture.Culture)$(TargetExt)"

    The old-style implementation

    OutputFile="$(TargetPath)"

    could be overridden because of ordinary MsBuild condition

    <targetpath condition=" '$(TargetPath)' == '' ">@(_OutputPathItem->'%(FullPath)$(TargetFileName)')</targetpath>

     
  • Alexander Sirotkin

    Logged In: YES
    user_id=2151684
    Originator: NO

    +1 to islobodin.
    I understand for what it has been made. I am have project that already build multiple localized
    outputs by large scripts. Now my scripts is broken :(

     
  • SourceForge Robot

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 15 days (the time period specified by
    the administrator of this Tracker).

     
MongoDB Logo MongoDB