by
Changes to 3 files · Browse files at ce1a9686ebde Showing diff from parent eaf56504c9fe a996b3ec5772 Diff from another changeset...
@@ -8,42 +8,17 @@ Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCmenu)\InProcServer32'
Type='string' Name='ThreadingModel' Value='Apartment'
/>
- <!-- Normal overlay COM component -->
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgNormal)'
- Type='string' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgNormal)\InProcServer32'
- Type='string' Name='ThreadingModel' Value='Apartment'
- />
- <!-- Added overlay COM component -->
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgAdded)'
- Type='string' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgAdded)\InProcServer32'
- Type='string' Name='ThreadingModel' Value='Apartment'
- />
- <!-- Modified overlay COM component -->
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgModified)'
- Type='string' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgModified)\InProcServer32'
- Type='string' Name='ThreadingModel' Value='Apartment'
- />
- <!-- Unversioned overlay COM component -->
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgUnversioned)'
- Type='string' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgUnversioned)\InProcServer32'
- Type='string' Name='ThreadingModel' Value='Apartment'
- />
+ <!-- overlay components -->
+ <?foreach CLSID in $(var.OverlayCLSIDList) ?>
+ <RegistryValue
+ Root='HKCR' Key='CLSID\$(var.CLSID)'
+ Type='string' Value='TortoiseHg'
+ />
+ <RegistryValue
+ Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32'
+ Type='string' Name='ThreadingModel' Value='Apartment'
+ />
+ <?endforeach?>
<!-- cmenu registration -->
<RegistryValue
@@ -81,19 +56,19 @@
<!-- register overlay components with TortoiseOverlays -->
<RegistryValue
- Root='HKLM' Key='Software\TortoiseOverlays\Normal'
+ Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Normal'
Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgNormal)'
/>
<RegistryValue
- Root='HKLM' Key='Software\TortoiseOverlays\Added'
+ Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Added'
Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgAdded)'
/>
<RegistryValue
- Root='HKLM' Key='Software\TortoiseOverlays\Modified'
+ Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Modified'
Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgModified)'
/>
<RegistryValue
- Root='HKLM' Key='Software\TortoiseOverlays\Unversioned'
+ Root='HKLM' Key='$(var.TOverlaysRegistryKey)\Unversioned'
Type='string' Name='TortoiseHgMsi' Value='$(var.CLSID_TortoiseHgUnversioned)'
/>
@@ -102,20 +77,11 @@ Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
Type='string' Name='$(var.CLSID_TortoiseHgCmenu)' Value='TortoiseHg'
/>
- <RegistryValue
- Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
- Type='string' Name='$(var.CLSID_TortoiseHgNormal)' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
- Type='string' Name='$(var.CLSID_TortoiseHgAdded)' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
- Type='string' Name='$(var.CLSID_TortoiseHgModified)' Value='TortoiseHg'
- />
- <RegistryValue
- Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
- Type='string' Name='$(var.CLSID_TortoiseHgUnversioned)' Value='TortoiseHg'
- />
+ <?foreach CLSID in $(var.OverlayCLSIDList) ?>
+ <RegistryValue
+ Root='HKLM' Key='Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved'
+ Type='string' Name='$(var.CLSID)' Value='TortoiseHg'
+ />
+ <?endforeach?>
+
</Include>
|
@@ -20,11 +20,16 @@ <?define TOverlaysSrcFilenameX86 = TortoiseOverlays-$(var.TOverlaysVersion)-win32.msm ?>
<?define TOverlaysSrcFilenameX64 = TortoiseOverlays-$(var.TOverlaysVersion)-x64.msm ?>
+ <?define TOverlaysRegistryKey = Software\TortoiseOverlays ?>
+
<?define VCRedistSrcDir = C:\Program Files\Microsoft SDKs\Windows\v7.0\Redist\VC ?>
<!-- shell extension CLSID's -->
<?include ../../win32/shellext/ThgCLSIDs.wxi ?>
-
+ <?define OverlayCLSIDList =
+ $(var.CLSID_TortoiseHgNormal);$(var.CLSID_TortoiseHgAdded);$(var.CLSID_TortoiseHgModified);$(var.CLSID_TortoiseHgUnversioned)
+ ?>
+
<Product Name='TortoiseHg $(var.Version) ($(var.Platform))'
Id='$(var.ProductId)'
Version='$(var.Version)'
@@ -140,22 +145,12 @@ Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCmenu)\InProcServer32'
Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
/>
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgNormal)\InProcServer32'
- Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgAdded)\InProcServer32'
- Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgModified)\InProcServer32'
- Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgUnversioned)\InProcServer32'
- Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
- />
+ <?foreach CLSID in $(var.OverlayCLSIDList) ?>
+ <RegistryValue
+ Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32'
+ Type='string' Value='[INSTALLDIR]ThgShellx86.dll'
+ />
+ <?endforeach?>
<?include shell-register.wxi ?>
</Component>
<Component Id='COPYING' Guid='382A8405-CB7B-42E8-8B9D-88B5C5283E73'>
@@ -288,22 +283,12 @@ Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgCmenu)\InProcServer32'
Type='string' Value='[Common64]ThgShellx64.dll'
/>
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgNormal)\InProcServer32'
+ <?foreach CLSID in $(var.OverlayCLSIDList) ?>
+ <RegistryValue
+ Root='HKCR' Key='CLSID\$(var.CLSID)\InProcServer32'
Type='string' Value='[Common64]ThgShellx64.dll'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgAdded)\InProcServer32'
- Type='string' Value='[Common64]ThgShellx64.dll'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgModified)\InProcServer32'
- Type='string' Value='[Common64]ThgShellx64.dll'
- />
- <RegistryValue
- Root='HKCR' Key='CLSID\$(var.CLSID_TortoiseHgUnversioned)\InProcServer32'
- Type='string' Value='[Common64]ThgShellx64.dll'
- />
+ />
+ <?endforeach?>
<?include shell-register.wxi ?>
</Component>
</Directory>
|
@@ -96,7 +96,7 @@ f.write(s)
try:
f.rename()
- except WindowsError:
+ except OSError:
pass # silently ignore these errors
def _get_path(self, appname):
@@ -115,4 +115,7 @@ def _audit(self):
if os.path.exists(os.path.dirname(self._path)):
return
- os.makedirs(os.path.dirname(self._path))
+ try:
+ os.makedirs(os.path.dirname(self._path))
+ except OSError:
+ pass # silently ignore these errors
|
Loading...