]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
wix-changes-20040621
authorAsanka Herath <asanka@mit.edu>
Tue, 22 Jun 2004 05:00:13 +0000 (05:00 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 22 Jun 2004 05:00:13 +0000 (05:00 +0000)
1.  Fix choice for logon options to include only 'not integrated',
    'integrated' and 'integrated with high security'.

2.  Add configuration page to select whether or not to run afscreds.exe
    when logging in and also choose the command line
    options for afscreds.exe.

3.  Assert that all dependencies are satisfied at install time when
    installing the server component.

4.  If running in full UI mode and installing the server component,
    the user is notified about dependencies and given a
    choice to review selections or just let the installer add the
    required components.

src/WINNT/install/wix/config.wxi
src/WINNT/install/wix/feature.wxi
src/WINNT/install/wix/files.wxi
src/WINNT/install/wix/lang/en_US/ui.wxi
src/WINNT/install/wix/openafs.wxs
src/WINNT/install/wix/property.wxi

index 61875656c964a686a82977725fda731b6506c80d..9529478fc2b36d0fe29662cb50225997448a7006 100644 (file)
@@ -16,6 +16,8 @@
        CellName       : Default cell name
        CellDbFile     : Path to default CellServDB file
        
+       RemoveLoopback : Defined if we want to remove the loopback adapter
+       
       
       Directory specs: (all dir. specs end in a '\')
        MediaBinDir    : Installer binaries (instloop.exe etc.)
index 73412d658dcd34cc7e9781caf509a3d629d0bab5..aa6918a3c512029f295a01d2e97267f68273fe70 100644 (file)
                                        <Condition Level="30">VersionNT = 500 And ServicePackLevel &lt; 3</Condition>
                                </Feature>
                                
+                               <Feature Id="feaCredsStartup" AllowAdvertise="no" FollowParent="yes" Display="hidden" InstallDefault="local" Level="30">
+                                       <ComponentRef Id="cmp_credsStartup" />
+                               </Feature>
+                               
                        <?ifdef Debug?>
                                <Feature Id="feaClientDebug" AllowAdvertise="no" Description="$(loc.StrAFSClientDebugLongDesc)" Display="expand"
                                        FollowParent="yes" InstallDefault="local" Level="30" Title="$(loc.StrAFSClientDebugDesc)">
index fa6a77fdd20083de946dd59c438240193029dbb4..c6c9b4f7829d9ed66dd1b5549fbb22e0e030e59d 100644 (file)
                     </Component>
                     <Component Id="cmf_afscreds_EXE" Guid="A17567CF-866E-49AF-A717-0B4F17CA88D4">
                         <File Id="fileafscreds_EXE" Name="afscreds.exe" LongName="afscreds.exe" KeyPath="yes" DiskId="1">
-                                                       <Shortcut Id="scAfsCreds" Directory="dirShortCut" Name="Auth.lnk" LongName="Authentication.lnk" Description="$(loc.StrAfsCredsDesc)" Arguments="-A -M -N -Q" Icon="ico_afscreds" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
-                                                       <Shortcut Id="scAfsCredsStart" Directory="StartupFolder" Name="AFSAuth.lnk" LongName="AFS Credentials.lnk" Description="$(loc.StrAfsCredsDesc)" Arguments="-A -M -N -Q" Icon="ico_afscreds" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
+                                                       <Shortcut Id="scAfsCreds" Directory="dirShortCut" Name="Auth.lnk" LongName="Authentication.lnk" Description="$(loc.StrAfsCredsDesc)" Arguments="[CREDSAUTOINIT] [CREDSRENEWDRMAP] [CREDSIPCHDET] [CREDSQUIET] [CREDSSHOW]" Icon="ico_afscreds" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" />
                         </File>
                     </Component>
+                    <Component Id="cmp_credsStartup" Guid="3F40BA8D-16A2-4990-A74F-35AF3012E3F8">
+                                               <Shortcut Id="scAfsCredsStart" Directory="StartupFolder" Name="AFSAuth.lnk" LongName="AFS Credentials.lnk" Description="$(loc.StrAfsCredsDesc)" Arguments="[CREDSAUTOINIT] [CREDSRENEWDRMAP] [CREDSIPCHDET] [CREDSQUIET] [CREDSSHOW]" Icon="ico_afscreds" IconIndex="0" Show="normal" WorkingDirectory="dirCommon" Target="[#fileafscreds_EXE]"/>
+                                               <Registry Root="HKLM" Key="SOFTWARE\OpenAFS\Client" Name="AutoStart" Type="integer" Value="1" Id="reg_CredsAutoStart" KeyPath="yes" />
+                    </Component>
                     <Component Id="cmf_afs_shl_ext_DLL" Guid="E4C51111-F9ED-418D-9DE0-ED8777CED5C9">
                         <File Id="fileafs_shl_ext_DLL" Name="afsshext.dll" LongName="afs_shl_ext.dll" KeyPath="yes" DiskId="1">
                             <Class Id="DC515C27-6CAC-11D1-BAE7-00C04FD140D2" Advertise="no" Context="InprocServer32" Description="$(loc.StrShlExtDesc)" ThreadingModel="apartment">
index c73a1b36bc577fdefdf5ee39f95baf3f47505bc3..49696b0255fea6535af7b23bb30dfa8ae5759cb1 100644 (file)
           <Publish Event="NewDialog" Value="SetupTypeDlg">InstallMode = "Custom"</Publish>
         </Control>
         <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
-                 <Publish Event="NewDialog" Value="ConfigClientDlg">&amp;feaClient = 3</Publish>
-          <Publish Event="NewDialog" Value="VerifyReadyDlg">&amp;feaClient &lt;&gt; 3</Publish>
+                 <Publish Event="NewDialog" Value="ConfigClientDlg">
+                       <![CDATA[ &feaClient = 3 AND NOT ((&feaServer=3 OR (!feaServer=3 AND &feaServer<1)) AND (&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3) OR &feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3) ))]]>
+                 </Publish>
+          <Publish Event="NewDialog" Value="VerifyReadyDlg">
+            <![CDATA[ &feaClient <> 3 AND NOT ((&feaServer=3 OR (!feaServer=3 AND &feaServer<1)) AND (&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3) OR &feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3) ))]]>
+          </Publish>
+          <Publish Event="NewDialog" Value="AddServerDepsDlg">
+            <![CDATA[ ((&feaServer=3 OR (!feaServer=3 AND &feaServer<1)) AND (&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3) OR &feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3) )) ]]>
+          </Publish>
           <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
         </Control>
         <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
           <Text>[DlgTitleFont]Custom Setup</Text>
         </Control>
         <Control Id="Box" Type="GroupBox" X="210" Y="81" Width="140" Height="98" />
-        <Control Id="ItemDescription" Type="Text" X="215" Y="90" Width="131" Height="30">
+        <Control Id="ItemDescription" Type="Text" X="215" Y="90" Width="131" Height="40">
           <Text>Multiline description of the currently selected item.</Text>
           <Subscribe Event="SelectionDescription" Attribute="Text" />
         </Control>
-        <Control Id="ItemSize" Type="Text" X="215" Y="130" Width="131" Height="45">
+        <Control Id="ItemSize" Type="Text" X="215" Y="135" Width="131" Height="40">
           <Text>The size of the currently selected item.</Text>
           <Subscribe Event="SelectionSize" Attribute="Text" />
         </Control>
           <Condition Action="hide">Installed</Condition>
         </Control>
       </Dialog>
+
+      <Dialog Id="AddServerDepsDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes" TrackDiskSpace="yes">
+        <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+          <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+        </Control>
+        <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
+                 <Publish Event="AddLocal" Value="feaClient"><![CDATA[&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3)]]></Publish>
+                 <Publish Event="AddLocal" Value="feaControlCenter"><![CDATA[&feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3)]]></Publish>
+                 <Publish Event="NewDialog" Value="ConfigClientDlg">
+                       <![CDATA[ &feaClient = 3 ]]>
+                 </Publish>
+          <Publish Event="NewDialog" Value="VerifyReadyDlg">
+            <![CDATA[ &feaClient <> 3 ]]>
+          </Publish>
+          <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
+        </Control>
+        <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+        <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+          <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
+        </Control>
+        <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+          <Text>Dependencies of the OpenAFS Server</Text>
+        </Control>
+        <Control Id="Text" Type="Text" X="25" Y="70" Width="320" Height="30">
+          <Text>The OpenAFS Server component requires the following component(s) which are currently not set to be installed.  Click Next to add these components or click Back to review your selections.</Text>
+        </Control>
+        <Control Id="ClientIcon" Type="Icon" X="25" Y="110" Width="32" Height="32" IconSize="32" Text="[CustomSetupIcon]" Hidden="yes">
+          <Condition Action="show"><![CDATA[&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3)]]></Condition>
+        </Control>
+        <Control Id="ClientText" Type="Text" X="60" Y="117" Width="200" Height="15" Hidden="yes" Transparent="yes" NoPrefix="yes">
+          <Text>OpenAFS Client</Text>
+          <Condition Action="show"><![CDATA[&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3)]]></Condition>
+        </Control>
+        <Control Id="CCIcon" Type="Icon" X="25" Y="150" Width="32" Height="32" IconSize="32" Text="[CustomSetupIcon]" Hidden="yes">
+          <Condition Action="show"><![CDATA[&feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3)]]></Condition>
+        </Control>
+        <Control Id="CCText" Type="Text" X="60" Y="157" Width="200" Height="15" Hidden="yes" Transparent="yes" NoPrefix="yes">
+          <Text>OpenAFS Control Center</Text>
+          <Condition Action="show"><![CDATA[&feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3)]]></Condition>
+        </Control>
+        <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+        <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+        <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+          <Text>[DlgTitleFont]Server Dependencies</Text>
+        </Control>
+      </Dialog>
+
       <Dialog Id="DiskCostDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
         <Control Id="OK" Type="PushButton" X="304" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_OK]">
           <Publish Event="EndDialog" Value="Return">1</Publish>
           <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
         </Control>
         <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="[ButtonText_Next]">
-          <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+          <Publish Event="NewDialog" Value="ConfigCredsDlg">1</Publish>
         </Control>
         <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
           <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
         <Control Id="CellLabel" Type="Text" X="45" Y="73" Width="100" Height="15" TabSkip="no" Text="Default &amp;Cell" />
         <Control Id="CellEdit" Type="Edit" X="150" Y="73" Width="115" Height="18" Property="AFSCELLNAME" Text="{120}" />
         <Control Id="LogonOptionsLabel" Type="Text" X="45" Y="93" Width="100" Height="15" Text="Integrated logon options" />
-        <Control Id="LogonOptionSel" Type="RadioButtonGroup" X="45" Y="108" Width="220" Height="80" Property="LOGONOPTIONS" />
-        <Control Id="FreelanceLabel" Type="Text" X="45" Y="188" Width="100" Height="15" Text="Freelance mode" />
-        <Control Id="FreelanceSel" Type="RadioButtonGroup" X="150" Y="188" Width="120" Height="20" Property="FREELANCEMODE" />
-        <Control Id="DNSLabel" Type="Text" X="45" Y="208" Width="100" Height="15" Text="Lookup cells in DNS" />
-        <Control Id="DNSSel" Type="RadioButtonGroup" X="150" Y="208" Width="120" Height="20" Property="USEDNS" />
+        <Control Id="LogonOptionSel" Type="RadioButtonGroup" X="45" Y="108" Width="220" Height="60" Property="LOGONOPTIONS" />
+        <Control Id="FreelanceLabel" Type="Text" X="45" Y="168" Width="100" Height="15" Text="Freelance mode" />
+        <Control Id="FreelanceSel" Type="RadioButtonGroup" X="150" Y="168" Width="120" Height="20" Property="FREELANCEMODE" />
+        <Control Id="DNSLabel" Type="Text" X="45" Y="188" Width="100" Height="15" Text="Lookup cells in DNS" />
+        <Control Id="DNSSel" Type="RadioButtonGroup" X="150" Y="188" Width="120" Height="20" Property="USEDNS" />
       </Dialog>
       <RadioGroup Property="FREELANCEMODE">
                <RadioButton X="5" Y="0" Width="55" Height="15" Text="Disable">0</RadioButton>
       <RadioGroup Property="LOGONOPTIONS">
                <RadioButton X="5" Y="0" Width="215" Height="15" Text="Disable integrated logon">0</RadioButton>
                <RadioButton X="5" Y="20" Width="215" Height="15" Text="Enable integrated logon">1</RadioButton>
-               <RadioButton X="5" Y="40" Width="215" Height="15" Text="Enable high security mode">2</RadioButton>
-               <RadioButton X="5" Y="60" Width="215" Height="15" Text="Enable integrated logon and high security">3</RadioButton>              
+               <RadioButton X="5" Y="40" Width="215" Height="15" Text="Enable integrated logon and high security">3</RadioButton>              
       </RadioGroup>
 
+      <Dialog Id="ConfigCredsDlg" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
+        <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
+          <Publish Event="NewDialog" Value="ConfigClientDlg">1</Publish>
+        </Control>
+        <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="[ButtonText_Next]">
+                       <Publish Event="AddLocal" Value="feaCredsStartup">CREDSSTARTUP = "1"</Publish>
+                       <Publish Event="Remove" Value="feaCredsStartup">CREDSSTARTUP &lt;&gt; "1"</Publish>
+                       <Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
+        </Control>
+        <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="[ButtonText_Cancel]">
+          <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
+        </Control>
+        <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="374" Height="44" FixedSize="yes" TabSkip="no" Text="[BannerBitmap]" />
+        <Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
+          <Text>Choose the configuration options for AFS credentials.</Text>
+        </Control>
+        <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="374" Height="0" />
+        <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="374" Height="0" />
+        <Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
+          <Text>[DlgTitleFont]Options for AFS Credentials</Text>
+        </Control>
+        <Control Id="CredStartLabel" Type="Text" X="45" Y="53" Width="295" Height="15" TabSkip="yes" Text="Startup options for AFS Credentials" />
+        <Control Id="CredStartup" Type="CheckBox" X="50" Y="73" Width="300" Height="15" Property="CREDSSTARTUP" CheckBoxValue="1" Text="Start AFS Credentials at startup" />
+        <Control Id="CredCommandLabel" Type="Text" X="45" Y="93" Width="295" Height="15" TabSkip="yes" Text="Command line options for AFS Credentials" />
+        <Control Id="CredAutoInit" Type="CheckBox" X="50" Y="113" Width="300" Height="15" Property="CREDSAUTOINIT" CheckBoxValue="-a" Text="Auto initialize AFS Credentials." />
+        <Control Id="CredRenew" Type="CheckBox" X="50" Y="133" Width="300" Height="15" Property="CREDSRENEWDRMAP" CheckBoxValue="-m" Text="Renew drive maps" />
+        <Control Id="CredIPCg" Type="CheckBox" X="50" Y="153" Width="300" Height="15" Property="CREDSIPCHDET" CheckBoxValue="-n" Text="Detect IP address changes" />
+        <Control Id="CredQuiet" Type="CheckBox" X="50" Y="173" Width="300" Height="15" Property="CREDSQUIET" CheckBoxValue="-q" Text="Quiet mode" />
+        <Control Id="CredShow" Type="CheckBox" X="50" Y="193" Width="300" Height="15" Property="CREDSSHOW" CheckBoxValue="-s" Text="Show credentials window on startup" />
+      </Dialog>
+
       <Dialog Id="UserExit" Width="370" Height="270" Title="[ProductName] [Setup]" NoMinimize="yes">
         <Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="[ButtonText_Finish]">
           <Publish Event="EndDialog" Value="Exit">1</Publish>
         <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
           <Publish Event="NewDialog" Value="AdminInstallPointDlg">InstallMode = "Server Image"</Publish>
           <Publish Event="NewDialog" Value="CustomizeDlg">(InstallMode = "Custom" OR InstallMode = "Change") AND &amp;feaClient &lt;&gt; 3</Publish>
-          <Publish Event="NewDialog" Value="ConfigClientDlg">(InstallMode = "Custom" OR InstallMode = "Change") AND &amp;feaClient = 3</Publish>
+          <Publish Event="NewDialog" Value="ConfigCredsDlg">(InstallMode = "Custom" OR InstallMode = "Change") AND &amp;feaClient = 3</Publish>
           <Publish Event="NewDialog" Value="MaintenanceTypeDlg">InstallMode = "Repair"</Publish>
           <Publish Event="NewDialog" Value="SetupTypeDlg">InstallMode = "Typical" OR InstallMode = "Complete"</Publish>
         </Control>
index d2e48c6159b1b500af2e97ae6ee559c096e444d3..871ba41fe618343ffb89b9a76390f73b5592ff2e 100644 (file)
                 DllEntry="UninstallNsisInstallation"
                 Execute="immediate" />
                <CustomAction
-                Id="AbortInstallation"
+                Id="AbortInstallationA"
+                BinaryKey="BIN_afsCustom"
+                DllEntry="AbortMsiImmediate"
+                Execute="immediate" />
+               <CustomAction
+                Id="AbortInstallationB"
                 BinaryKey="BIN_afsCustom"
                 DllEntry="AbortMsiImmediate"
                 Execute="immediate" />
         <AdminExecuteSequence />
         <InstallExecuteSequence>
                        <RemoveExistingProducts After="InstallValidate">IBMAFS_UPGRADE OR OPENAFS_UPGRADE</RemoveExistingProducts>
-                       <Custom Action="RemoveNsisInstallation" Before="AbortInstallation">NSISUNINSTALL &lt;&gt; "" AND UILevel &gt;= 4</Custom>
-                       <Custom Action="AbortInstallation" Before="CostInitialize">NSISUNINSTALL &lt;&gt; "" AND UILevel &lt; 4</Custom>
+                       <Custom Action="RemoveNsisInstallation" Before="AbortInstallationA">NSISUNINSTALL &lt;&gt; "" AND UILevel &gt;= 4</Custom>
+                       <Custom Action="AbortInstallationA" Before="CostInitialize">NSISUNINSTALL &lt;&gt; "" AND UILevel &lt; 4</Custom>
+                       <!-- Assert that if the server is going to be installed locally after this session, control center and client are also local -->
+                       <Custom Action="AbortInstallationB" After="MigrateFeatureStates">
+                               <![CDATA[((&feaServer=3 OR (!feaServer=3 AND &feaServer<1)) AND (&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3) OR &feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3) ))]]>
+                       </Custom>
                <?ifdef RemoveLoopback?>
                        <Custom Action="RemoveLoopback" After="SelfRegModules">&amp;feaLoopback=2 OR &amp;feaLoopback=3</Custom>
             <Custom Action="RollbackLoopback" After="RemoveLoopback">&amp;feaLoopback=3</Custom>
index 1938f965f545fcc808034c0b31ed01b654f94413..90b25e19e5d2f682168f410f0578613a1097eb55 100644 (file)
        <Property Id="RXMAXMTU">$(var.RxMaxMTU)</Property>
        <Property Id="HIDEDOTFILES">$(var.HideDotFiles)</Property>
 
+       <Property Id="CREDSSTARTUP">1</Property>
+       <Property Id="CREDSAUTOINIT">-a</Property>
+       <Property Id="CREDSRENEWDRMAP">-m</Property>
+       <Property Id="CREDSIPCHDET">-n</Property>
+       <Property Id="CREDSQUIET">-q</Property>
+       <!-- empty property 
+       <Property Id="CREDSSHOW"></Property>
+       -->
+
     <!-- Add/remove programs -->
     <Property Id="ARPCOMMENTS">$(var.ProductComments)</Property>
     <Property Id="ARPCONTACT">openafs-info@openafs.org</Property>