Menu

#32 Fixes to properly handle nasty file tree

v1.0
open
legalize
5
2002-05-31
2002-05-10
Arthur Ward
No

I was trying to package Cygwin for our computer labs
as an MSI, and resigned myself to doing it by hand
since WinInstall LE wouldn't do the trick and we don't
have any other tool here that will even grab a
directory tree and crank out an MSI. Enter izfree - it
tried to work. The packages didn't come out anywhere
near right, nor did it even think about passing
validation. These are the nasties that Cygwin has that
break izfree:
Short filenames that don't map to what wit_filename
generated.
Long filenames that don't map to legal identifiers for
primary keys
Directory paths that are too long for identifiers
Files (perhaps copies of the same file; haven't
checked yet) with the same name, but in different
directories.

And perhaps some others problems that I forgot. I
spent the last day & a half patching and reworking
NewComponents.html to deal with Cygwin. All of these
problems appear to be solved (in the context of a
brand-new MSI file). I modified the arrays so the File
objects are stored rather than file names, rewrote
wit_filename to use the script host's File & Folder
objects for short filenames, and added helper
functions that sanitize strings for the Identifier
type in the MSI database.

I'm attaching my revised NewComponents.html to this
tracker item. A revised izfree.vbs will be attached to
my next tracker item. My changes are based on the
released version 1.0 of izfree.

Discussion

  • Arthur Ward

    Arthur Ward - 2002-05-10

    Revised version to handle stated issues.

     
  • Arthur Ward

    Arthur Ward - 2002-05-10

    Revised version to handle stated issues.

     
  • legalize

    legalize - 2002-05-31
    • assigned_to: nobody --> legalize
     
  • legalize

    legalize - 2002-05-31

    Logged In: YES
    user_id=36316

    This may have been fixed in version 1.1, you can download
    the source if you're feeling adventurous. If it isn't fixed yet, I
    will fix it in version 1.1.

    If you point me to a cygwin distribution tree (all I can find are
    stuff in .bz2 compression, not zips or tarballs) I will test verion
    1.1 with that.

    I ditched constructing my own short filenames with
    wit_filename in favor of using Windows itself to give me the
    short filename.

     
  • Arthur Ward

    Arthur Ward - 2002-05-31

    Logged In: YES
    user_id=540291

    As far as testing goes, I'm just grabbing a post-install
    snapshot of Cygwin. After running WinInstall against it, I
    found the setup program did not do anything weird. It unpacks
    all its stuff into a single directory tree and creates some
    registry entries in HKLM\Software\Cygnus Solutions, if I recall
    correctly. It isn't fresh in my mind now.

    If I need to regenerate this MSI again, I will try the 1.1
    sources.

     
  • legalize

    legalize - 2002-05-31

    Logged In: YES
    user_id=36316

    OK, I'll try it out on the installed tree. Before Version 1.1 is
    officially released, I'll incorporate any additional fixes from the
    files that you uploaded. Thanks for your contribution!

     
  • legalize

    legalize - 2002-06-08

    Logged In: YES
    user_id=36316

    I've looked at this a little closer in the code for version 1.1. It
    turns out I was handling the invalid character issue, but was
    not handling the issue of constructed database keys
    exceeding the size of the key column. I will address this
    before version 1.1 is officially released. Thanks again!

     

Log in to post a comment.