远离 Source-Safe 但在 IIS 10 上安装 SourceGear Vault 时遇到问题
Moving away from Source-Safe but having problems installing SourceGear Vault on IIS 10
为了保留我的脚本,我曾经使用 Microsoft source safe
但 after many issues, I migrated to sourceGear Vault,它将所有数据存储在几个 sql server databases
中,以便您可以备份它们等。
此问题特定于名为 SourceGear Vault 的版本控制系统。
过去我有 problems with SourceGear Vault installation 并且它们是固定的。
现在我又发现安装 SourceGear Vault 客户端并不直接。
到目前为止我做了什么
我使用了以下 powershell 命令来安装服务器和客户端:
msiexec /i VaultProServer64_10_0_0_30736.msi
msiexec /i VaultProClient_10_0_0_30736.msi
服务器安装继续进行,没有出现重大问题,除此之外您需要确保 运行 上面的 powershell 为 Administrator
。同样适用于客户端安装。
客户端安装也可以,我遇到的问题是IIS。
在 powershell 上查找 IIS 版本:
powershell "get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring"
About the .NET version(s) I have installed
运行我得到以下 Powershell 脚本:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!S)\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { [Version]"4.5" }
"378675|378758" { [Version]"4.5.1" }
"379893" { [Version]"4.5.2" }
"393295|393297" { [Version]"4.6" }
"394254|394271" { [Version]"4.6.1" }
"394802|394806" { [Version]"4.6.2" }
"460798" { [Version]"4.7" }
{$_ -gt 460798} { [Version]"Undocumented 4.7 or higher, please update script" }
}
}
}
这是我当前的 IIS SourceGear 环境:
应用程序池
In the IIS Manager, click on Application Pools. there are multiple
pools for Vault. Check the Advanced Settings for each and look for
"Enable 32-bit Apps." That should be set to False.
我已将 Enabled 32-bits Apps
全部禁用,如下图所示:
我只显示了其中一个应用程序池,但它们的设置都相同。
我遇到了以下错误,但现在已修复 - 请参阅下文了解更多信息:
当我使用 google chrome 进入 http://localhost/vaultservice/index.html
时,
我收到以下错误消息:
HTTP Error 500.19 - Internal Server Error The requested page cannot be
accessed because the related configuration data for the page is
invalid.
Error Code 0x80070021
Config Error This configuration section cannot be used at this
path. This happens when the section is locked at a parent level.
Locking is either by default (overrideModeDefault="Deny"), or set
explicitly by a location tag with overrideMode="Deny" or the legacy
allowOverride="false".
This locked at parental level was fixed by doing the following:
我需要将某些功能从 read only
更改为 read/write
:handler mappings
和 modules
之前:
之后:
使用应用程序时的错误信息
这是我在使用 Vault 客户端连接时当前收到的错误消息:
Unable to connect to http://mathura/VaultService. No server was found
at the specified URL. Please verify your network settings using the
Options dialog under the Tools menu in the Vault GUI Client. Web
Exception: The request failed with HTTP status 405: Method Not
Allowed.
如何解决此问题并进行正常安装?
我解决了这个问题。
去的时候http://mathura/VaultService/VaultService.asmx
我收到以下错误:
The page you are requesting cannot be served because of the extension
configuration. If the page is a script, add a handler. If the file
should be downloaded, add a MIME map.
然后从下面的问题:
“The page you are requesting cannot be served because of the extension configuration.” error message
I had to check .NET Framework 4.5 Advanced Services > WCF Services >
HTTP Activation
这解决了我的问题。
之前:
之后:
为了保留我的脚本,我曾经使用 Microsoft source safe
但 after many issues, I migrated to sourceGear Vault,它将所有数据存储在几个 sql server databases
中,以便您可以备份它们等。
此问题特定于名为 SourceGear Vault 的版本控制系统。
过去我有 problems with SourceGear Vault installation 并且它们是固定的。
现在我又发现安装 SourceGear Vault 客户端并不直接。
到目前为止我做了什么
我使用了以下 powershell 命令来安装服务器和客户端:
msiexec /i VaultProServer64_10_0_0_30736.msi
msiexec /i VaultProClient_10_0_0_30736.msi
服务器安装继续进行,没有出现重大问题,除此之外您需要确保 运行 上面的 powershell 为 Administrator
。同样适用于客户端安装。
客户端安装也可以,我遇到的问题是IIS。
在 powershell 上查找 IIS 版本:
powershell "get-itemproperty HKLM:\SOFTWARE\Microsoft\InetStp\ | select setupstring,versionstring"
About the .NET version(s) I have installed 运行我得到以下 Powershell 脚本:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse |
Get-ItemProperty -name Version,Release -EA 0 |
Where { $_.PSChildName -match '^(?!S)\p{L}'} |
Select PSChildName, Version, Release, @{
name="Product"
expression={
switch -regex ($_.Release) {
"378389" { [Version]"4.5" }
"378675|378758" { [Version]"4.5.1" }
"379893" { [Version]"4.5.2" }
"393295|393297" { [Version]"4.6" }
"394254|394271" { [Version]"4.6.1" }
"394802|394806" { [Version]"4.6.2" }
"460798" { [Version]"4.7" }
{$_ -gt 460798} { [Version]"Undocumented 4.7 or higher, please update script" }
}
}
}
这是我当前的 IIS SourceGear 环境:
应用程序池
In the IIS Manager, click on Application Pools. there are multiple pools for Vault. Check the Advanced Settings for each and look for "Enable 32-bit Apps." That should be set to False.
我已将 Enabled 32-bits Apps
全部禁用,如下图所示:
我只显示了其中一个应用程序池,但它们的设置都相同。
我遇到了以下错误,但现在已修复 - 请参阅下文了解更多信息:
当我使用 google chrome 进入 http://localhost/vaultservice/index.html
时,
我收到以下错误消息:
HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid.
Error Code 0x80070021
Config Error This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".
This locked at parental level was fixed by doing the following:
我需要将某些功能从 read only
更改为 read/write
:handler mappings
和 modules
之前:
之后:
使用应用程序时的错误信息
这是我在使用 Vault 客户端连接时当前收到的错误消息:
Unable to connect to http://mathura/VaultService. No server was found at the specified URL. Please verify your network settings using the Options dialog under the Tools menu in the Vault GUI Client. Web Exception: The request failed with HTTP status 405: Method Not Allowed.
如何解决此问题并进行正常安装?
我解决了这个问题。
去的时候http://mathura/VaultService/VaultService.asmx
我收到以下错误:
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.
然后从下面的问题:
“The page you are requesting cannot be served because of the extension configuration.” error message
I had to check .NET Framework 4.5 Advanced Services > WCF Services > HTTP Activation
这解决了我的问题。
之前:
之后: