Simple Addon Installer
From World Wind Wiki
(Difference between revisions)
Revision as of 14:43, 30 July 2005 (edit) 85.250.206.81 (Talk) (no need to use FileWriteByte) ← Previous diff |
Revision as of 14:44, 29 March 2011 (edit) (undo) 2.94.77.130 (Talk) Next diff → |
||
Line 34: | Line 34: | ||
Worldwind_1.3_NAME_0.1.exe | Worldwind_1.3_NAME_0.1.exe | ||
- | It would be nice if Add-on developers stuck to the same convention especially putting in WW's version number in there. Of course adjust accordingly :) | + | It would be nice if Add-on developers stuck to the same convention especially putting in WW's version number in there. Of course adjust accordingly :)[http://www.shop.videoradio.ru][http://www.videoradio.ru] |
I hope it's helpfull, please feel free to comment. Special thanks for Nowak for designing the original quick and easy nsi script, and showing me how it's done. | I hope it's helpfull, please feel free to comment. Special thanks for Nowak for designing the original quick and easy nsi script, and showing me how it's done. |
Revision as of 14:44, 29 March 2011
I promised a few people this, so here goes.
- Any place where you see NAME, replace with your add-ons name.
- Download NSIS and install.
- Create a directory to work in such as "NAME"
- Inside this directory create another directory named "Install"
- Create your .nsi script. Open up notepad (or another favorite text editor) and paste the following:
Name "NAME" OutFile "NAME.exe" InstallDir "$PROGRAMFILES\NASA\World Wind v1.3" InstallDirRegKey HKCU "Software\NASA\World Wind" "" Section "Main Install" SetOutPath $INSTDIR File /r "Install\*.*" SectionEnd Page directory Page instfiles
Save as NAME.nsi
- Inside the "Install" directory is where you put your files. Commonly for WW this would be a "Configuration" directory, subdirectory and files, and also a "Data" directory et all. Do not put the "NASA" Directory or "Worldwind v1.3" directory in there. You want only directories and files inside of those. Hopefully this makes sense.
- Right click on NAME.nsi and choose "Compile NSIS Script" You may also choose the compresser to use. LZMA is the best but most of the add-ons are small so this is trivial.
You should be done! A few notes:
It is pointless to zip up an exe installer, it doesn't save much room (may actually cost some).
So far the best naming convention I've seen has been.
Worldwind_1.3_NAME_0.1.exe
It would be nice if Add-on developers stuck to the same convention especially putting in WW's version number in there. Of course adjust accordingly :)[1][2]
I hope it's helpfull, please feel free to comment. Special thanks for Nowak for designing the original quick and easy nsi script, and showing me how it's done.
Installing an add-on that appends to an XML config file
(Sample NSI script by Matt Mills.)
; The name of the installer Name "Colored SRTM Elevation" ; The file to write OutFile "vissrtm.exe" ; The default installation directory ;Name "NAME" ;OutFile "NAME.exe" ;InstallDir "$PROGRAMFILES\NASA\World Wind v1.3" ;InstallDirRegKey HKCU "Software\NASA\World Wind" "" InstallDir "$PROGRAMFILES\NASA\World Wind 1.3\" ;-------------------------------- ; Pages Page directory Page instfiles ;-------------------------------- ; The stuff to install Section "" ;No components page, name is not important SetOutPath "$INSTDIR\Data\Icons\Interface\" File vissrtm.png CopyFiles /silent $INSTDIR\Config\Earth\Images.xml $INSTDIR\Images.vissrtm.bak.xml ClearErrors FileOpen $0 $INSTDIR\Config\Earth\Images.xml a IfErrors done FileSeek $0 -31 END FileWrite $0 ' <QuadTileSet ShowAtStartup="false">$\r$\n' FileWrite $0 " <Name>Colored SRTM Elevation</Name>$\r$\n" FileWrite $0 " <DistanceAboveSurface>10</DistanceAboveSurface>$\r$\n" FileWrite $0 " <BoundingBox>$\r$\n" FileWrite $0 " <North>$\r$\n" FileWrite $0 " <Value>90.0</Value> $\r$\n" FileWrite $0 " </North>$\r$\n" FileWrite $0 " <South>$\r$\n" FileWrite $0 " <Value>-90.0</Value> $\r$\n" FileWrite $0 " </South>$\r$\n" FileWrite $0 " <West>$\r$\n" FileWrite $0 " <Value>-180.0</Value> $\r$\n" FileWrite $0 " </West>$\r$\n" FileWrite $0 " <East>$\r$\n" FileWrite $0 " <Value>180.0</Value> $\r$\n" FileWrite $0 " </East>$\r$\n" FileWrite $0 " </BoundingBox>$\r$\n" FileWrite $0 " <TerrainMapped>true</TerrainMapped>$\r$\n" FileWrite $0 " <ImageAccessor>$\r$\n" FileWrite $0 " <LevelZeroTileSizeDegrees>20</LevelZeroTileSizeDegrees>$\r$\n" FileWrite $0 " <NumberLevels>8</NumberLevels>$\r$\n" FileWrite $0 " <TextureSizePixels>150</TextureSizePixels>$\r$\n" FileWrite $0 " <ImageFileExtension>jpg</ImageFileExtension>$\r$\n" FileWrite $0 " <ImageTileService>$\r$\n" FileWrite $0 " <ServerUrl>http://www.worldwinddata.com/redir.php</ServerUrl>$\r$\n" FileWrite $0 " <DataSetName>vissrtm</DataSetName>$\r$\n" FileWrite $0 " <ServerLogoFilePath>Data\Icons\Interface\vissrtm.png</ServerLogoFilePath>$\r$\n" FileWrite $0 " </ImageTileService>$\r$\n" FileWrite $0 " </ImageAccessor>$\r$\n" FileWrite $0 " <ExtendedInformation>$\r$\n" FileWrite $0 " <ToolBarImage>Data\Icons\Interface\vissrtm.png</ToolBarImage>$\r$\n" FileWrite $0 " </ExtendedInformation>$\r$\n" FileWrite $0 " </QuadTileSet>$\r$\n" FileWrite $0 " </ChildLayerSet>$\r$\n" FileWrite $0 "</LayerSet>$\r$\n" FileClose $0 done: SectionEnd ; end the section