Menu

#458 Survival of programs after Windows reinstallation

closed
General (118)
5
2008-12-06
2008-12-06
No

In case of hard windows crash followed by format of C: and reinstall, you have to reinstall all your programs (even if not corrupted because installed in an other partition e.g. D:) because they have lost their registry keys this means a day (full time) or a week (part time) of work).
If the program and its data are in 1 or 2 partitions different of C: (now many PC are sold with at least 2 partitions), it will help the users to add to the normal functions of the installer the generation of :
+ a reinstallC.exe (or any other Windows executable) that write again all the things that need to be installed in C: (entries in registry, list of programs, uninstall information, shortcuts, etc.) and erased by format of C:. Executing this allows survival of the program after Windows reinstallation.
+ a reinstallC.bat (or any other Windows executable script) that calls (with full path) the reinstallC.exe . I'll copy all the elementary reinstallC.bat in a big .bat. I'll run it after Windows reinstallation and all my programs will be back to life in a row without efforts !
This new function may also allow to use Windows reinstallation as a way to clean a PC, the C: of which has become dirty after year(s) of use (and many install/uninstall of programs)...

Discussion

  • Amir Szekely

    Amir Szekely - 2008-12-06
    • assigned_to: nobody --> kichik
    • status: open --> closed
     
  • Amir Szekely

    Amir Szekely - 2008-12-06

    That is already possible using current scripting abilities. It is, however, far too program dependent to be standardized to the level you're seeking. NSIS can't know according to the script what really needs to be "reinstalled" and what doesn't. The best it can do is redo everything and for that you can simply copy over the installer itself.

     
  • Anonymous

    Anonymous - 2008-12-07

    Please think again.
    If I have well understood your answer, you propose that I save the installer of the program and that I run it again after Windows reinstallation. It is what I do presently but it is long and need many clicks and data entries and cannot be automated, so I don't like this.
    I am just an user (not an author) of programs and may say stupid things.

    If the program has been installed in c:\Program Files\ (default location) all is lost and there is nothing to do.
    If the program has been installed in D:\Xyz (what I do) all that is in this directory is still valid : I ask for only a small subset of the installer that keep memory of what I have done during the true installation without asking again for data entry.
    What does it need to do ?
    Write again :
    -entries in registry,
    -entries in the list of all the programs (used to start them),
    -entries in the list of all the programs (used to install or uninstal them),
    -entries in shortcuts or icons (but it is better to keep the icons files in the directory of the program),
    -entries in common .dll directories of Windows. But it is better to keep the .dll files in the directory of the program. This avoid the problems of shared dll at the cost of dll duplication.
    Dll duplication up to 5 Goctets (a huge number of them) is not a problem when a Seagate disk of 500 Go cost 50 to 60 Dollars or Euros...
    -Do I have missed something else ?

    For me it looks like the uninstall.exe except that it write instead of erasing and do nothing to the files already in D: .

    If you think that all of this is easy to do with the existing installer, please add in the documentation some text saying :
    -The users love to have the functionality of "survival to Windows reinstallation" and it is a big + for them.
    -How to do it.

     
  • Amir Szekely

    Amir Szekely - 2008-12-07

    You assume here that the installer actually has a list of all those entries you wish to restore. That is not the case. The installer is based on a script and a lot of those entries could also be generated by the files the script installs. There is no one way to create any of those and no way to know which of those are to be restored.

    To add this functionality to an existing installer, you'd have to copy the entire installer over and that would just be redundant. And even if it was a bit easier than that, I disagree on this being a big plus for users. At the very best, this is very controversial. Some MSI packages copy themselves over to C:\WINDOWS\Installer for repair and modification and I know a lot of users, including myself, who don't like this feature at all.

     
  • Anonymous

    Anonymous - 2008-12-09

    "You assume here that the installer actually has a list of all those entries you wish to restore."
    I have assumed this because Firefox that use your installer, has an "install.log" that is a list of all the entries. Several programs exist that intercept (and put in their log) the modifications done during installation to undo them (e.g. Cleansweep that I used 10 years ago with Windows 98). These logs can conceptually be used to redo. I was thinking that a similar process was used to generate the Uninstall.exe automatically. You have explained to me that this is not the case and that it is very controversial to just repair the C: part of the program.

    In fact, what I wish to have, is a fast and automated way to reinstall all my programs. I don't care how it is implemented.
    Can you accept a functionality that run again the last install with the same parameters as entered the previous time ? Is this easy to do ?

    Assume that the sources of the program "program_name" processed by your installer generate a "program_name_Setup.exe" that I download.
    When I run "program_name_Setup.exe" the functionality would record in some file e.g. "again.ini" the complete path and name of "program_name_Setup.exe" (I always download all the program installers in the same directory and I keep the last version), the complete path of installation directory and all the other parameters that I have entered on the various screens of the installation process. The functionality would also use a general program that extract (from "again.ini") the complete path of "program_name_Setup.exe" and call it with "again.ini" as a parameter list without the use of any registry key. In this case "program_name_Setup.exe" should run "silently" without showing the screens for entry of parameters or showing "readme" file or starting the program at the end. The only 2 messages : "installation of program_name started" and "installation of program_name successful" are needed.
    The shortcuts may cause problems because some installers need that you uncheck their creations to avoid their duplications if they already exist : so they have to be created even if these parameters has been unchecked during last installation.
    If you generate also an again.bat which is :
    complete_path&name_of_program_name_Setup.exe complete_path&name_of_again.ini
    you don't need the general program and to record the complete paths in again.ini or again.ini may be replaced by a string parameter list.

    The use of the functionality are :
    - automated reinstallation of programs after Windows reinstallation,
    - manual installation of a first PC and automatic installation of the others.

     
  • Amir Szekely

    Amir Szekely - 2008-12-09

    Just as there is no list of entries, there is no list of parameters. So this assumption is also wrong. In fact, there is no standard at all and the installer developer can do whatever he wants with the script.

     

Log in to post a comment.