JERMING 的个人资料magicalclick space照片日志留言簿更多 ![]() | 帮助 |
|
10月12日 Sealing Software InstallationSealing Software Installation.
Motive: To simplify software installation and un-installation.
Recently I have installed software that uses many services and network communication. The software is installed on many client machines. Sadly enough, I ran into problems. It initially failed the installation at some point due to permissions. But then the unsuccessful un-installation leads to unsuccessful reinstallation. The rest is nightmare and finally got resolved by manually uninstall each component one by one.
Then, I am thinking, why do I have to do all those crap? Is it developer's fault? Well, they suck at making installation / un-installation process for sure. But, what about those evil adware / malware / spyware? They don't provide a proper un-installation intentionally. What happen to us, the poor guys? I won't be able to properly remove them without going into the uncharted OS system stuff. Hell, I just tried using Norton Anti-Virus to delete those, and internet ends up dead. I did recover internet, but God knows what happened to other stuff.
I am proposing a brand new way of organizing application/service/registry. Here are the key points. - Strict application to be installed into one root directory. The software does not have access to anywhere but under its directory. - Strict file location for OS related info, such as Service and Registry. - XML Based Application Header. Application Header defines what services should be "cached" by OS and includes registry information.
So how does this works? No more software installation. Just copy and paste the whole application root directory to the destination and say check this folder for software. OS will look for Application Header. OS will "cache" Application Header in one centralized place. Services will be "cached" and configured based on the Header as well. OS will occasionally reconcile the cached info with physical data. What does this mean? If you want something to be installed/running at background, you need the application header to keep it alive. If there is no application header, the registry and services will be removed from OS cache. To remove an application, just delete the root directory and everything will be gone. No need to fix registry or worry about services.
Trade Offs: - Periodically OS will check the cached files with actual files. It will take some resources when doing so. The cost is relatively small compare to the performance of current hardware standard. - Flexibility issues. I don't know deep enough about software to ensure that the system is flexible enough for everything. Library sharing, application patch, external tweaks, and shared process need to be addressed. |
|
|