![]() |
#1 |
Senior Member
Join Date: Jan 2005
Location: Look behind you.
Posts: 209
|
![]()
I have created a new way to automatically handle repair, adding/removing components, and removal (uninstall) through dynamic script generation. I call it Component Manager, and I have already released the first beta.
Component Manager (CM for short :P ) replaces the Section, SectionEnd, File, CopyFiles, and SetOutPath commands in NSIS with its own modifications, allowing for a list of files, directories, componens, and (soon) shortcuts to be created without using an MSI-style database system. CM is kind of big (180-200KB for the runtime incl. the ExperienceUI) but it makes larger programs with a lot of optional components (like Winamp) easy to repair, modify, and remove, plus the installer is much more efficient. If you've used Winamp recently, you'll notice that it deletes ALL AVS scenes, MilkDrop scenes, etc. when you uninstall it. It leaves plugins and skins (last I checked) but not much else. With CM, a list of files is created while the script is compiled, meaning that each file is logged, but at compile time, and that means only, like, 2 lines of code for each file instead of a huge database in the Registry. CM's only in beta, so it might (and probably does) have bugs. One bug in particular is it works great with the ExperienceUI, somewhat with the Modern UI, and hardly at all with the UltraModern UI. I haven't tried it with the InstallSpider UI yet. Behind the scenes, is uses <Program Files>\Common Files\NSIS Installation Data\ComponentDatabase.ini to keep track of which components are installed. You can't change this filename yet, but I want to make it possible to write to either an INI or a registry key. Links: Wiki Page Website Downloads Support forum -dandaman32 ExperienceUI for NSIS | Latest project: Enano CMS Do not PM me on the Winamp forums, I hardly ever check my messages here; you are more likely to get my attention through the ExperienceUI forum. ![]() |
![]() |
![]() |
![]() |
#2 |
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
This looks very nice!
I'll try it some day if I ever need to create a big installer. -Stu |
![]() |
![]() |
![]() |
#3 |
Senior Member
Join Date: Jan 2005
Location: Look behind you.
Posts: 209
|
Forgot to note in documentation:
${File} command does NOT take wildcards - will try to implement in the future. -dandaman32 ExperienceUI for NSIS | Latest project: Enano CMS Do not PM me on the Winamp forums, I hardly ever check my messages here; you are more likely to get my attention through the ExperienceUI forum. ![]() |
![]() |
![]() |
![]() |
#4 |
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
To implement wildcards with my Self-Extractor I had to use an external executable.
-Stu |
![]() |
![]() |
![]() |
#5 |
Junior Member
Join Date: Sep 2003
Location: FRANCE
Posts: 34
|
I don't understand
I don't manage compiling the example based on your CM...is it normal ? JCD |
![]() |
![]() |
![]() |
#6 |
Senior Member
Join Date: Jan 2005
Location: Look behind you.
Posts: 209
|
I'm not sure what you mean by "compiling the example based on my CM"...could you provide more details please?
-dandaman32 ExperienceUI for NSIS | Latest project: Enano CMS Do not PM me on the Winamp forums, I hardly ever check my messages here; you are more likely to get my attention through the ExperienceUI forum. ![]() |
![]() |
![]() |
![]() |
#7 |
Junior Member
|
He can't compile the example based on your Component Manager.
![]() "Never hold your farts in. They travel up your spine and into your brain, and that's where you get shitty ideas from." - Unknown |
![]() |
![]() |
![]() |
#8 | ||
Senior Member
Join Date: Jan 2005
Location: Look behind you.
Posts: 209
|
Quote:
Quote:
<Program Files>\Windows NT\Accessories\Wordpad.exe <Program Files>\Windows NT\Accessories\Mswrd6.wpc <Program Files>\Windows NT\Accessories\Mswrd8.wpc <Program Files>\Windows NT\Accessories\write.wpc <Windows>\Notepad.exe All of these files go to <NSIS>\Examples\ComponentManager\Data. If you aren't using Windows XP (or maybe Win2000) these files will be in <Program Files>\Accessories - I think, it's been a year and a half since I upgraded to Windows XP from Windows ME. I copy them around your machine because they're too big to include in the installer, plus I don't want to help pirate Windows components. -dandaman32 ExperienceUI for NSIS | Latest project: Enano CMS Do not PM me on the Winamp forums, I hardly ever check my messages here; you are more likely to get my attention through the ExperienceUI forum. ![]() |
||
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|