home *** CD-ROM | disk | FTP | other *** search
/ PC World 2006 September / PCWorld_2006-09_cd.bin / audio-video / sonique / s2beta_103_install.exe / install_gui_mml < prev    next >
Text File  |  2004-03-02  |  23KB  |  588 lines

  1. 7<?mml version="0.6" ?>
  2. <mml>
  3.     <interface>
  4.         <fontstyle name="title" size="24" face="Tahoma" style="bold"   />
  5.         <fontstyle name="edit" size="16"  face="Impact"   />
  6.         <fontstyle name="q"    size="16"  face="Tahoma"   />
  7.         <fontstyle name="checkbox_font"    size="12"  face="Lucida Console"   />
  8.  
  9.         <!--
  10.         
  11.         row0long 39
  12.         row1along 59/63
  13.         row2along 81/85
  14.         row3along 103/106
  15.         row3along 125/128
  16.         
  17.         -->
  18.  
  19.         <rect name="screen">5,5,395,395</rect>
  20.         <rect name="center" > 16,59,389,109  </rect>
  21.  
  22.         <rect name="row0long" > 16,39,389,59  </rect>
  23.  
  24.         <rect name="row1along" > 16,59,389,88  </rect>
  25.         <rect name="row1a" > 16,63,30,79 </rect>
  26.         <rect name="row1blong" > 36,59,389,81 </rect>
  27.         <rect name="row1b" > 36,59,150,81 </rect>
  28.         <rect name="row1c" > 156,63,170,79 </rect>
  29.         <rect name="row1d" > 176,59,240,81 </rect>
  30.         <rect name="row1e" > 246,63,310,79 </rect>
  31.         <rect name="row1f" > 316,59,389,81 </rect>
  32.  
  33.         <rect name="row2along" > 16,81,389,109 </rect>
  34.         <rect name="row2a" > 16,85,30,99 </rect>
  35.         <rect name="row2blong" > 36,81,389,101 </rect>
  36.         <rect name="row2b" > 36,81,150,101 </rect>
  37.         <rect name="row2c" > 156,85,170,99 </rect>
  38.         <rect name="row2d" > 176,81,240,101 </rect>
  39.  
  40.  
  41.         <rect name="row3a" > 16,106,30,119 </rect>
  42.         <rect name="row3blong" > 36,103,389,123 </rect>
  43.         <rect name="row3b" > 36,103,150,123 </rect>
  44.         <rect name="row3c" > 156,106,170,119 </rect>
  45.         <rect name="row3d" > 176,103,240,123 </rect>
  46.  
  47.  
  48.         <rect name="row4a" > 16,128,29,141 </rect>
  49.         <rect name="row4blong" > 36,125,389,145 </rect>
  50.         <rect name="row4b" > 36,125,150,145 </rect>
  51.  
  52.         <rect name="row4c" > 156,128,170,141 </rect>
  53.         <rect name="row4d" > 176,125,240,144 </rect>
  54.  
  55.         <rect name="row5a" > 225,63,240,79 </rect>
  56.         <rect name="row5b" > 246,59,360,81 </rect>
  57.  
  58.         <rect name="row5c" > 225,83,240,110</rect>
  59.         <rect name="row5d" > 246,80,400,110 </rect>
  60.  
  61.  
  62.         <window name="install" offset="200,200,600,500" alignment=".5,.5,.5,.5" hitstyle="drag">
  63.             <script name="OnInit">
  64.                 screen_ctr = 9;
  65.                 screen_pos = 0;
  66.                 do_install = 7;
  67.  
  68.                 screens = {screen0,screen1,screen2,screen3,screen4,screen5,screen6,screen7,finalscreen};
  69.  
  70.                 screen0.Show();
  71.             </script>
  72.             <color name="dg" >0xFF015826</color>
  73.             <color name="lg" >0xFF598527</color>
  74.             <color name="do" >0xFFD55000</color>
  75.             <imagestyle name="background" >
  76.                 <color_fill color = "dg"    offset = "0,0,0,30"    alignment = "0,0,1,0" />
  77.                 <color_fill color = "do"    offset="0,30,0,-50"    alignment="0,0,1,1"    />
  78.                 <color_fill color = "dg"    offset="0,-50,0,0"    alignment="0,1,1,1"    />
  79.                 <text offset="10,0,0,0" alignment="0,0,1,1" color="0xFFFFFFFF" font_style="title">Sonique2 Beta</text>
  80.             </imagestyle>
  81.  
  82.             <?macrodef textbutton 
  83.                 <window name="$(name)" type="button" offset="$(loc) @ 0,0,400,300" alignment="$(alignment)" transparent="true" hitstyle="active" hidden="$(hidden)" >
  84.                     <imagestyle name="state0">
  85.                         <color_rect 
  86.                             thickness="1.5" 
  87.                             cornerradius="6" 
  88.                             color="0xFFFFFFFF" 
  89.                             blendmode="PS_NORMAL" 
  90.                             opacity="0.75" 
  91.                         />
  92.                         <color_rect thickness="1.5" cornerradius="6" color="0xFFFFFFFF" blendmode="PS_NORMAL" state="hit" offset="1,1,-1,-1" alignment="0,0,1,1" />
  93.                         <text font_style="edit" color="#FFFFFF" justification="h_center|v_center" state="normal" opacity="0.75" >$(name)</text>
  94.                         <text font_style="edit" color="#FFFFFF" justification="h_center|v_center" state="hit" >$(name)</text>
  95.                     </imagestyle>
  96.             ?>
  97.             <?macrodef bkgrnd
  98.                 <imagestyle name="background$(name)" >
  99.                     <color_fill color="dg" />
  100.                     <color_rect color="lg" thickness="3" />
  101.                 </imagestyle>
  102.             ?>
  103.  
  104.             <?macrodef rndbtn 
  105.                 <window name="$(name)" type="button" offset="install.psd|$(name) @ install.psd" alignment="1,0,1,0" hitstyle="active" transparent="true" >
  106.                     <imagestyle name="state0" >
  107.                         <raster source="install.psd|$(name)"
  108.                             blendmode="PS_NORMAL"
  109.                             opacity="0.75"
  110.                         />    
  111.                         <raster source="install.psd|$(name)"
  112.                             blendmode="PS_NORMAL"
  113.                             state="HIT"
  114.                             opacity="1.0"
  115.                         />    
  116.                     </imagestyle>
  117.             ?>
  118.             <?macrodef checkbox 
  119.                 <window name="$(name)" type="button" offset="$(offset)" alignment="$(alignment)" transparent="true" hitstyle="active"  >
  120.                     <property hover="true" />
  121.                     <imagestyle name="state0">
  122.                         <raster source="install.psd|unchecked"
  123.                             blendmode="PS_NORMAL"
  124.                         />    
  125.                     </imagestyle>
  126.                     <imagestyle name="state1">
  127.                         <raster source="install.psd|checked"
  128.                             blendmode="PS_NORMAL"
  129.                         />    
  130.                     </imagestyle>
  131.                     <script name="OnInit">
  132.                         $(name).SetToggle(true);
  133.                         $(name).SetButtonState($(state));
  134.                     </script>
  135.                 </window>
  136.  
  137.             ?>
  138.  
  139.             <?macrodef checkbox_label 
  140.                 <window name="$(name)" type="textdisplay" offset="$(offset)" alignment="$(alignment)" transparent="true" >
  141.                     <property font_color="0xFFFFFFFF" font_style="q" text="$(description)"/>
  142.                 </window>
  143.             ?>
  144.  
  145.         <!-- minimize button -->
  146.             <?macroins rndbtn name="minimize" ?>
  147.                 <script name="OnClick" > parent.MinimizeWindow(1); </script>
  148.             </window>
  149.  
  150.         <!-- close button -->
  151.             <?macroins rndbtn name="close" ?>
  152.                 <script name="OnClick" > parent.DestroyWindow(); </script>
  153.             </window>
  154.  
  155.         <!-- about window -->
  156.         <window name="screen0" type="textdisplay" offset="center" alignment="0,0,0,0" transparent="true" hidden="true">
  157.             <property 
  158.                 text="You are about to install a pre-release version of Sonique2.  Install at your own risk."  
  159.                 justification="h_center|v_center"
  160.                 font_style="q" font_color="0xFFFFFFFF" 
  161.             />
  162.         </window>
  163.         
  164.         <window name="screen1" type="textdisplay" offset="center" alignment="-1,0,-1,0" transparent="true">
  165.                 <property 
  166.                     text="Before continuing, please ensure that there are no instances of sonique2.exe running."  
  167.                     justification="h_center|v_center"
  168.                     font_style="q" font_color="0xFFFFFFFF" 
  169.                 />
  170.         </window>
  171.  
  172.         <!-- destination window -->
  173.         <window name="screen2" offset="screen" alignment="-1,0,-1,0" transparent="true">
  174.             <window name="screen2_txt" type="textdisplay" offset="row1along" transparent="true">
  175.                 <property text="where?" font_style="q" font_color="0xFFFFFFFF" />
  176.             </window>
  177.             <window name="edit" type="EditBox" offset="row2along" hitstyle="active" >
  178.                 <property 
  179.                     font_style        = "edit"
  180.                     font_color        = "0xFFFFFFFF"
  181.                     cursor_on_color    = "0xFFFFFFFF"
  182.                     cursor_off_color    = "lg"
  183.                     selection_color    = "lg"
  184.                     text_offset_rect    = "4,4,-4,-4"
  185.                     text                = "c:\Program Files\Sonique2"
  186.                 />
  187.                 <?macroins bkgrnd name="_active" ?>
  188.                 <?macroins bkgrnd name="_inactive" ?>
  189.             </window>
  190.             <?macroins textbutton name="Browse" loc="322,25,393,58" alignment="1,1,1,1" hidden="false" ?>
  191.                 <script name="OnClick">
  192.                     $dir=:installer.BrowseForFolder("Select install path..."); 
  193.                     if ($dir) {edit.SetText($dir);}
  194.                 </script>
  195.             </window>
  196.         </window>
  197.         <window name="screen3" offset="screen" alignment="-1,0,-1,0" transparent="true">
  198.             <window name="screen3_txt" type="textdisplay" offset="row1along" transparent="true" >
  199.                 <property text="please specify your preferences:" font_style="q" font_color="0xFFFFFFFF" />
  200.             </window>
  201.         
  202.             <!-- startmenu check box -->
  203.             <?macroins checkbox name="startmenu" offset="row2a" alignment="0,0,0,0" state="1" ?>
  204.             <?macroins checkbox_label name="startmenu_label" offset="row2blong" alignment="0,0,0,0" description="Create a program group in your Start menu" ?>
  205.             <!-- desktop icon check box -->
  206.             <?macroins checkbox name="desktop_icon" offset="row3a" alignment="0,0,0,0" state="1" ?>
  207.             <?macroins checkbox_label name="desktop_icon_label" offset="row3blong" alignment="0,0,0,0" description="Create a shortcut on your desktop" ?>
  208.         </window>
  209.  
  210.         <window name="screen4" offset="screen" alignment="-1,0,-1,0" transparent="true">
  211.         <!-- plugins window -->
  212.             <window name="plugins" type="textdisplay" offset="row0long" transparent="true" >
  213.                 <property text="optional plugins:" font_style="q" font_color="0xFFFFFFFF" />
  214.             </window>
  215.         <!-- cdraw check box -->
  216.             <?macroins checkbox name="cdraw" offset="row1a" alignment="0,0,0,0" state="1" ?>
  217.             <?macroins checkbox_label name="cdraw_label" offset="row1blong" alignment="0,0,0,0" description="CD Support" ?>
  218.         <!-- wmafilter check box -->
  219.         <?macroins checkbox name="wmafilter" offset="row2a" alignment="0,0,0,0" state="1" ?>
  220.         
  221.             <!-- <window name="wmafilter" type="button" offset="row2a" alignment="0,0,0,0" transparent="true" hitstyle="active"  >
  222.                 <property hover="true" />
  223.                 <imagestyle name="state0">
  224.                     <raster source="install.psd|unchecked"
  225.                         blendmode="PS_NORMAL"
  226.                     />    
  227.                 </imagestyle>
  228.                 <imagestyle name="state1">
  229.                     <raster source="install.psd|checked"
  230.                         blendmode="PS_NORMAL"
  231.                     />    
  232.                 </imagestyle>
  233.                 <script name="OnInit">
  234.                     wmafilter.SetToggle(true);
  235.                     wmafilter.SetButtonState(1);
  236.                 </script>
  237.             </window>
  238.         -->
  239.             <?macroins checkbox_label name="wmafilter_label" offset="row2blong" alignment="0,0,0,0" description="WMA Filter (Windows Media 9)" ?>
  240.         <!-- aorta check box -->
  241.             <?macroins checkbox name="aorta" offset="row3a" alignment="0,0,0,0" state="1" ?>
  242.             <?macroins checkbox_label name="aorta_label" offset="row3blong" alignment="0,0,0,0" description="Aorta Visual" ?>
  243.         <!-- cosmicbelt check box     -->
  244.             <?macroins checkbox name="cosmicbelt" offset="row4a" alignment="0,0,0,0" state="1" ?>
  245.             <?macroins checkbox_label name="cosmicbelt_label" offset="row4blong" alignment="0,0,0,0" description="CosmicBelt Visual" ?>
  246.         </window>
  247.  
  248.         <window name="screen5" offset="screen" alignment="-1,0,-1,0" transparent="true">
  249.             <!-- file associations window  -->
  250.             <window name="associations" type="textdisplay" offset="row0long" alignment="0,0,0,0" transparent="true" >
  251.                 <property text="file associations:" font_style="q" font_color="0xFFFFFFFF" />
  252.             </window> 
  253.         <!-- mp3 check box -->
  254.             <?macroins checkbox name="mp3" offset="row1a" alignment="0,0,0,0" state="1" ?>
  255.             <?macroins checkbox_label name="mp3_label" offset="row1b" alignment="0,0,0,0"    description=".mp3" ?>
  256.         <!-- ogg check box -->
  257.             <?macroins checkbox name="ogg" offset="row2a" alignment="0,0,0,0" state="1" ?>
  258.             <?macroins checkbox_label name="ogg_label" offset="row2b" alignment="0,0,0,0" description=".ogg" ?>
  259.         <!-- cda check box -->
  260.             <?macroins checkbox name="cda" offset="row3a" alignment="0,0,0,0" state="1" ?>
  261.             <?macroins checkbox_label name="cda_label" offset="row3b" alignment="0,0,0,0" description=".cda" ?>
  262.         <!-- wma check box     -->
  263.             <?macroins checkbox name="wma" offset="row4a" alignment="0,0,0,0" state="0" ?>
  264.             <?macroins checkbox_label name="wma_label" offset="row4b" alignment="0,0,0,0" description=".wma"    ?>
  265.         <!-- xpl check box -->
  266.             <?macroins checkbox name="xpl" offset="row1c" alignment="0,0,0,0" state="1" ?>
  267.             <?macroins checkbox_label name="xpl_label" offset="row1d" alignment="0,0,0,0" description=".xpl" ?>
  268.         <!-- pls check box -->
  269.             <?macroins checkbox name="pls" offset="row2c" alignment="0,0,0,0" state="1" ?>
  270.             <?macroins checkbox_label name="pls_label" offset="row2d" alignment="0,0,0,0" description=".pls" ?>
  271.         <!-- m3u check box -->
  272.             <?macroins checkbox name="m3u" offset="row3c" alignment="0,0,0,0" state="1" ?>
  273.             <?macroins checkbox_label name="m3u_label" offset="row3d" alignment="0,0,0,0" description=".m3u" ?>
  274.         <!-- wav check box     -->
  275.             <?macroins checkbox name="wav" offset="row4c" alignment="0,0,0,0" state="0" ?>
  276.             <?macroins checkbox_label name="wav_label" offset="row4d" alignment="0,0,0,0" description=".wav"    ?>
  277.         <!-- CD AutoPlay check box     -->
  278.             <?macroins checkbox name="cd_autoplay" offset="row5a" alignment="0,0,0,0" state="0" ?>
  279.             <?macroins checkbox_label name="cd_autoplay_label" offset="row5b" alignment="0,0,0,0" description="CD AutoPlay" ?>
  280.  
  281.         <!-- Right Click check box     -->
  282.             <?macroins checkbox name="right_click" offset="row5c" alignment="0,0,0,0" state="0" ?>
  283.             <?macroins checkbox_label name="rightclick_label" offset="row5d" alignment="0,0,0,0" description="Right Click" ?>
  284.         </window>
  285.  
  286.  
  287.         <window name="screen6" type="textdisplay"  offset="center" alignment="-1,0,-1,0" transparent="true">
  288.             <property 
  289.                 text="Click 'next' to begin installation of Sonique2."  
  290.                 justification="h_center|v_center"
  291.                 font_style="q" font_color="0xFFFFFFFF" 
  292.             />
  293.         </window>
  294.  
  295.  
  296.         <window name="screen7" offset="screen" alignment="-1,0,-1,0" transparent="true">
  297.             <!-- installing window -->
  298.             <window name="installing" type="textdisplay" offset="row1along" alignment="0,0,0,0"  transparent="true">
  299.                 <property text="installing files..." font_style="q" font_color="0xFFFFFFFF" />
  300.             </window>
  301.         <!-- progress window -->
  302.             <window name="progress" type="fillbar" offset="row2along" alignment="0,0,0,0" >
  303.                 <Property orientation="left_to_right"
  304.                           bar_align_rect ="0,0,1,1"
  305.                           bar_offset_rect="3,3,-3,-3"
  306.                 />
  307.                 <?macroins bkgrnd name="" ?>
  308.                 <ImageStyle name="barfilled">
  309.                     <color_fill color="0xFFFFFFFF" />
  310.                 </ImageStyle>
  311.             </window>
  312.         
  313.         </window>
  314.         
  315.         <window name="finalscreen" offset="screen" alignment="-1,0,-1,0" transparent="true">
  316.             <window name="done" type="textdisplay" offset="row1along" alignment="0,0,0,0"  transparent="true">
  317.             <property text="done! enjoy." font_style="q" font_color="0xFFFFFFFF" />
  318.             </window> 
  319.         <!-- readme check box -->
  320.             <?macroins checkbox name="readme" offset="row2a" alignment="-1,0,-1,0" state="0" ?>
  321.             <?macroins checkbox_label name="readme_label" offset="row2blong" alignment="-1,0,-1,0" description="View ReadMe file" ?>
  322.         <!-- launch check box jmc021804 disable until we can resolve the issues with the launched S2
  323.             todo fix and reenable this.
  324.             <?macroins checkbox name="launch" offset="row3a" alignment="-1,0,-1,0" state="0" ?>
  325.             <?macroins checkbox_label name="launch_label" offset="row3blong" alignment="-1,0,-1,0" description="Launch Sonique2"?>
  326.         -->
  327.  
  328.         <!-- reboot check box -->
  329.             <?macroins checkbox_label name="reboot_message" offset="row2along" alignment="-1,0,-1,0" description="Your system requires a reboot."?>
  330.             <?macroins checkbox name="reboot" offset="row3a" alignment="-1,0,-1,0" state="0" ?>
  331.             <?macroins checkbox_label name="reboot_label" offset="row3blong" alignment="-1,0,-1,0" description="restart my computer"?>
  332.         </window>
  333.  
  334.  
  335.         <!-- Back button -->
  336.             <?macroins textbutton name="back" loc="155,264,226,290" _loc="100,264,171,290" alignment="1,1,1,1" hidden="true" ?>
  337.                 <script name="OnClick">
  338.                     cur = screens[screen_pos];
  339.                     cur.SetAlignment({-1,0,-1,0},0,300,"linear_accel" );
  340.                     screen_pos--;
  341.  
  342.                     if (screen_pos gt 0) {
  343.                         nextscreen = screens[screen_pos];
  344.                         nextscreen.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  345.                     } else {
  346.                         screen_pos = 0;
  347.                         Hide();
  348.                         screen0.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  349.                     }
  350.                 </script>
  351.             </window>
  352.         <!-- next button (and main install logic) -->
  353.             <?macroins textbutton name="next" loc="236,264,307,290" _loc="181,264,252,290" alignment="1,1,1,1" hidden="false" ?>
  354.                 <script name="OnClick">
  355.                     cur = screens[screen_pos];
  356.  
  357.                     cur.SetAlignment({-1,0,-1,0},0,300,"linear_accel" );
  358.  
  359.                     if (screen_pos lt screen_ctr - 1) {
  360.                         back.Show();
  361.                         screen_pos++;
  362.                         
  363.                         nextscreen = screens[screen_pos];
  364.                         
  365.                         if (screen_pos == 4) {
  366.                             parent.TestWma();
  367.                         }
  368.  
  369.                         nextscreen.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  370.                     }
  371.  
  372.                     if (screen_pos == do_install) {
  373.                         parent.DoInstall();
  374.                     }
  375.                 </script>
  376.             </window>
  377.  
  378.             <?macroins textbutton name="finish" loc="322,264,393,290" alignment="1,1,1,1" hidden="true" ?>
  379.                 <script name="OnClick">
  380.                     Close();
  381.                 </script>
  382.             </window>
  383.  
  384.             <?macroins textbutton name="cancel" loc="322,264,393,290" alignment="1,1,1,1" hidden="false" ?>
  385.                 <script name="OnClick" > parent.DestroyWindow(); </script>
  386.             </window>
  387.  
  388.             <window name="error" type="textdisplay" offset="15,78,388,106" transparent="true" />
  389.  
  390.             <script name="TestWma">
  391.                 if (:installer.TestForWma() == "false") {
  392.                     screen4.wmafilter.SetButtonState(0);
  393.                     :installer.Popup("Warning","Windows Media support will not be installed.  Cancel this install and install a newer version of Windows Media from Windows Update to obtain this functionality in Sonique2." );
  394.                 }
  395.             </script>
  396.  
  397.             <script name="DoInstall">
  398.                 $path = screen2.edit.GetText();
  399.                 if( :installer.SetInstallPath($path) )
  400.                 {
  401.                     cancel.SetAlignment({-1,0,-1,0},0,300,"linear_accel" );
  402.                     next.SetAlignment({2,1,2,1},0,300,"linear_accel" );
  403.                     back.SetAlignment({2,1,2,1},0,300,"linear_accel" );
  404.                     back.OnClick="";
  405.                     next.OnClick= "";
  406.  
  407.                     // select main package
  408.                     :installer.SelectPackageForInstall("{A717B122-2492-47af-9D41-960DA77A0865}");
  409.             
  410.                     // select media formats
  411.                     if ( screen5.mp3.GetButtonState() ) 
  412.                     { 
  413.                         :installer.SelectSubPackageForInstall("mp3"); 
  414.                         
  415.                         if (screen5.right_click.GetButtonState()) {
  416.                             :installer.SelectSubPackageForInstall("rc_mp3");
  417.                         }
  418.                     }
  419.                     
  420.                     if ( screen5.ogg.GetButtonState() ) 
  421.                     { 
  422.                         :installer.SelectSubPackageForInstall("ogg"); 
  423.                     
  424.                         if (screen5.right_click.GetButtonState()) {
  425.                             :installer.SelectSubPackageForInstall("rc_ogg");
  426.                         }
  427.  
  428.                     }
  429.  
  430.                     if ( screen5.cda.GetButtonState() ) 
  431.                     { 
  432.                         :installer.SelectSubPackageForInstall("cda"); 
  433.                         
  434.                         if (screen5.right_click.GetButtonState()) {
  435.                             :installer.SelectSubPackageForInstall("rc_cda");
  436.                         }
  437.                     }
  438.  
  439.                     if ( screen5.wav.GetButtonState() ) 
  440.                     { 
  441.                         :installer.SelectSubPackageForInstall("wav"); 
  442.  
  443.                         if (screen5.right_click.GetButtonState()) {
  444.                             :installer.SelectSubPackageForInstall("rc_wav");
  445.                         }
  446.  
  447.                     }
  448.                     
  449.                     if ( screen5.cd_autoplay.GetButtonState() ) 
  450.                     { 
  451.                         :installer.SelectSubPackageForInstall("cd_autoplay"); 
  452.  
  453.                         if (screen5.right_click.GetButtonState()) {
  454.                             :installer.SelectSubPackageForInstall("rc_cda");
  455.                         }
  456.  
  457.                     }
  458.                     
  459.                     if ( screen5.wma.GetButtonState() ) 
  460.                     { 
  461.                         :installer.SelectSubPackageForInstall("wma"); 
  462.                         if (screen5.right_click.GetButtonState()) {
  463.                             :installer.SelectSubPackageForInstall("rc_wma");
  464.                         }
  465.                     }
  466.                     
  467.                     // select playlist formats
  468.                     if ( screen5.xpl.GetButtonState() ) 
  469.                     {    
  470.                         :installer.SelectSubPackageForInstall("xpl"); 
  471.                         if (screen5.right_click.GetButtonState()) {
  472.                             :installer.SelectSubPackageForInstall("rc_xpl");
  473.                         }
  474.                     }
  475.                     
  476.                     if ( screen5.pls.GetButtonState() ) 
  477.                     {    
  478.                         :installer.SelectSubPackageForInstall("pls"); 
  479.                         if (screen5.right_click.GetButtonState()) {
  480.                             :installer.SelectSubPackageForInstall("rc_pls");
  481.                         }
  482.     
  483.                     }
  484.                     
  485.                     if ( screen5.m3u.GetButtonState() ) 
  486.                     { 
  487.                         :installer.SelectSubPackageForInstall("m3u"); 
  488.  
  489.                         if (screen5.right_click.GetButtonState()) {
  490.                             :installer.SelectSubPackageForInstall("rc_m3u");
  491.                         }
  492.                     }
  493.  
  494.                                     
  495.                     // select plugins
  496.                     if ( screen4.cdraw.GetButtonState() ) { :installer.SelectSubPackageForInstall("cdraw"); }
  497.                     if ( screen4.wmafilter.GetButtonState() ) {:installer.SelectSubPackageForInstall("wmafilter");}
  498.                     if ( screen4.aorta.GetButtonState() ) { :installer.SelectSubPackageForInstall("aorta"); }
  499.                     if ( screen4.cosmicbelt.GetButtonState() ) { :installer.SelectSubPackageForInstall("cosmicbelt"); }
  500.  
  501.  
  502.                     // create shortcuts?
  503.                     if ( screen3.desktop_icon.GetButtonState() ) { :installer.SelectSubPackageForInstall("desktop"); }
  504.                     if ( screen3.startmenu.GetButtonState() ) { :installer.SelectSubPackageForInstall("start_menu"); }
  505.  
  506.                     // register install progress callbacks
  507.                     :installer.Register("installprogress","screen7.progress.SetRealPos( $params[1] );", this ); 
  508.                     :installer.Register("installdone", "Done();", this ); 
  509.  
  510.                     // shut down any existing sonique2's
  511.                     // jmctodo this is ugly.  make it pretty.
  512.                     while ( :installer.IsWindowOpen("Sonique2 Window Class", "Sonique2") )
  513.                     {
  514.                         :installer.Popup("Warning","Sonique2 is running.  Please shut it down and then click 'next.'" );
  515.                     }
  516.  
  517.                     // install selected packages
  518.                     :installer.InstallSelectedPackages();
  519.                 }
  520.                 else
  521.                 {
  522.                     :installer.Popup("oops", "Bad Install path.");
  523.                 }
  524.             </script>
  525.             <script name="Done" >
  526.                 :installer.UnRegister("installprogress",this );
  527.                 :installer.UnRegister("installdone",this );
  528.  
  529.                 // move in options, checkboxes
  530.                 if ( :installer.IsRebootNeeded() )
  531.                 {
  532.                     finalscreen.reboot.SetButtonState(1);
  533.                     finalscreen.reboot_message.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  534.                     finalscreen.reboot.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  535.                     finalscreen.reboot_label.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  536.                     finalscreen.readme.SetButtonState(0);
  537.                     //finalscreen.launch.SetButtonState(0);
  538.                 }
  539.                 else
  540.                 {
  541.                     finalscreen.readme.SetButtonState(1);
  542.                     finalscreen.readme.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  543.                     finalscreen.readme_label.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  544.                     //finalscreen.launch.SetButtonState(1);
  545.                     //finalscreen.launch.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  546.                     //finalscreen.launch_label.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  547.                 }
  548.  
  549.                 screen7.SetAlignment({-1,0,-1,0},0,300,"linear_accel" );
  550.                 finalscreen.SetAlignment({0,0,0,0},0,300,"linear_decel" );
  551.  
  552.                 finish.Show();
  553.                 //finish.SetAlignment({1,1,1,1},0,300,"linear_decel" );
  554.             </script>
  555.             <script name="Close">
  556.                 install.SetSize({400,0},0,200,"linear_accel" ); 
  557.                 install.SetLocation({0,300/4},0,200,"linear_accel",1 ); 
  558.  
  559.  
  560.                 if (finalscreen.reboot.GetButtonState())
  561.                 {
  562.                     if (:installer.SystemReboot() == 0)
  563.                     {
  564.                         :installer.Popup("Warning","The restart failed, please manually restart windows before using Sonique2." );
  565.                     }
  566.                 
  567.                 
  568.                 } else { // we can do this if we don't reboot.
  569.  
  570.                     if (finalscreen.readme.GetButtonState())
  571.                     {
  572.                         :installer.OpenFile("$(instdir)/readme.html"); 
  573.                     }
  574.  
  575.                     //if (finalscreen.launch.GetButtonState())
  576.                     //{
  577.                     //    :installer.Execute("\"$(instdir)\\Sonique2.exe\"", "$(instdir)" ); 
  578.                     //    :installer.LaunchS2AtEnd("\"$(instdir)\\Sonique2.exe\"", "$(instdir)" ); 
  579.                     //}
  580.  
  581.                 }
  582.  
  583.                 install.DestroyWindow(300);
  584.             </script>
  585.         </window>
  586.     </interface>
  587. </mml>
  588.