Index: README.xml =================================================================== RCS file: /cvs/cvsroot/loki_setup/README.xml,v retrieving revision 1.72 diff -u -r1.72 README.xml --- README.xml 9 Mar 2006 19:10:01 -0000 1.72 +++ README.xml 9 Mar 2006 19:31:01 -0000 @@ -178,6 +178,9 @@ reinstall If set to 'yes', the install will allow the product to be reinstalled. The default behavior is not to let the user install product options twice. + reinstallnowarning If set to 'no' (the default), the install will warn the user + that a reinstall is about to occur. + appbundle (CARBON ONLY) If this is "yes", the destination folder does not include the product name as part of the path. An application bundle is typically installed much like a single file would be...and so is treated as such. Index: install.c =================================================================== RCS file: /cvs/cvsroot/loki_setup/install.c,v retrieving revision 1.159 diff -u -r1.159 install.c --- install.c 7 Mar 2006 02:02:26 -0000 1.159 +++ install.c 9 Mar 2006 19:31:04 -0000 @@ -710,6 +710,15 @@ return ret; } +int GetProductReinstallNoWarning(install_info *info) +{ + int ret; + char *str = (char *)xmlGetProp(XML_ROOT(info->config), BAD_CAST "reinstallnowarning"); + ret = str && (*str=='t' || *str=='y'); + xmlFree(str); + return ret; +} + int GetReinstallNode(install_info *info, xmlNodePtr node) { int ret = 1; /* Default to yes */ @@ -892,7 +901,10 @@ strncpy(info->install_path, pinfo->root, sizeof(info->install_path)); if ( GetProductReinstall(info) ) + { info->options.reinstalling = 1; + disable_install_path = 0; + } } /* Handle component stuff */ Index: install.h =================================================================== RCS file: /cvs/cvsroot/loki_setup/install.h,v retrieving revision 1.86 diff -u -r1.86 install.h --- install.h 7 Mar 2006 02:02:26 -0000 1.86 +++ install.h 9 Mar 2006 19:31:05 -0000 @@ -262,6 +262,7 @@ extern int GetProductAllowsExpress(install_info *info); extern int GetProductInstallOnce(install_info *info); extern int GetProductReinstall(install_info *info); +extern int GetProductReinstallNoWarning(install_info *info); extern int GetReinstallNode(install_info *info, xmlNodePtr node); extern int GetProductIsAppBundle(install_info *info); extern int GetProductSplashPosition(install_info *info); Index: main.c =================================================================== RCS file: /cvs/cvsroot/loki_setup/main.c,v retrieving revision 1.79 diff -u -r1.79 main.c --- main.c 8 Mar 2006 02:14:12 -0000 1.79 +++ main.c 9 Mar 2006 19:31:05 -0000 @@ -370,8 +370,8 @@ state = SETUP_EXIT; continue; } - if ( info->options.reinstalling ) { - if ( UI.prompt(_("Warning: You are about to reinstall\non top of an existing installation. Continue?\n"), + if ( info->options.reinstalling ) { + if ( GetProductReinstallNoWarning(info) || UI.prompt(_("Warning: You are about to reinstall\non top of an existing installation. Continue?\n"), RESPONSE_YES) == RESPONSE_YES ) { /* Restore the initial environment */ loki_put_envvars(info->product);