Gavin Stokes
Red Team
Please have someone at RED write a .command file for Mac OS X that checks
(a) the file name of each file for existence
(b) the permissions for each file, and
(c) computes a hash of the contents and checks against the correct value
The values for all of these should match a single, known configuration, and the script should be updated on each release. This would correctly identify *so* many installation problems, and even less-than-technical users could just double-click the script after install and verify everything.
Hi Erich. Yes, the state of the installation tools available to us on the platform is unsatisfactory. I experimented with different ideas for using scripts during the installation process as a brute-force method of deleting existing files, but it stands to reason that if the regular file-copy operation fails, so will a script. I'll look into getting results back to the user in the form of a log file, since that appears to be our only option.
Your suggestion for a script to verify the condition of the system is reasonable, although the only definitive check would be for versions. There has been no pattern to permissions problems or any other explanation for the installer's silent failure. Because we can't reproduce this problem in house, it has been impossible to troubleshoot; often we can't get diagnostic info from the customer because he has already manually deleted the files in question before reporting the problem.
I have a script that blows away installed components for testing purposes, but haven't given it to customers because of major changes to the OS X installation "receipts" between Leopard and SnowLeopard. Receipts on SnowLeopard are no longer files with a known name that can simply be deleted; they're entries in a database of sorts. I'll see if I can refine the script to make it more universal and integrate it into the next installer.