merge commit

This commit is contained in:
robvde 2015-02-15 09:15:02 +08:00
commit 4a80b1bdce
197 changed files with 184514 additions and 1143 deletions

View file

@ -0,0 +1,6 @@
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\Release\EnterpriseServer -o Setup.WIXInstaller\EnterpriseServerFiles.wxs -gg -sreg -srd -var wix.BUILDESPATH -cg EnterpriseServerFiles -dr INSTALLENTERPRISESERVERFOLDER
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\Release\Server -o Setup.WIXInstaller\ServerFiles.wxs -gg -sreg -srd -var wix.BUILDSPATH -cg ServerFiles -dr INSTALLSERVERFOLDER
"%WIX%\bin\heat.exe" dir ..\..\WebsitePanel\Build\Release\Portal -o Setup.WIXInstaller\PortalFiles.wxs -gg -sreg -srd -var wix.BUILDPPATH -cg PortalFiles -dr INSTALLPORTALFOLDER

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define PROJECTPATH = "..\..\..\WebsitePanel"?>
<?define VERSION="2.1"?>
</Include>

View file

@ -0,0 +1,207 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLENTERPRISESERVERFOLDER">
<Directory Id="dir6CE36061E3999438B9BA89FF4216AA69" Name="bin" />
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="EnterpriseServerFiles">
<Component Id="cmp34CE7A099A3FFEC525D7D093AB8987C4" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{3DE5BF86-5C2B-44A9-AA65-38AA8B9AC83A}">
<File Id="fil80AE381498E108347A00C8973B487F16" KeyPath="yes" Source="!(wix.BUILDESPATH)\Default.aspx" />
</Component>
<Component Id="cmp3D7BF794CCD757023C3D334F08C1D445" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{6E70DAFF-BE33-4D9C-8D93-6687A586492B}">
<File Id="fil576A4104649ACFF3D7359A2DCA141A34" KeyPath="yes" Source="!(wix.BUILDESPATH)\ecServiceHandler.asmx" />
</Component>
<Component Id="cmp831731D472109501F57A355547021B02" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{A4D8D681-6B58-4AFC-A289-DEA1BA09E49E}">
<File Id="filC16221EFB30024C0A890D6D10DB5D0C5" KeyPath="yes" Source="!(wix.BUILDESPATH)\ecStorefront.asmx" />
</Component>
<Component Id="cmp7919B475439D0EDCF2E7111D7FBD01C9" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{89F3CC4A-411B-4ED1-82AE-CD53BF181E43}">
<File Id="filD9A0DB2425C634FFB8A694C1CC41B529" KeyPath="yes" Source="!(wix.BUILDESPATH)\ecStorehouse.asmx" />
</Component>
<Component Id="cmp5F82B874C6149AF14117B5FC53138BB8" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{22B94558-51A7-4E6A-B314-7F775A19DB84}">
<File Id="filD907747C258169B5049506CB949E8EA0" KeyPath="yes" Source="!(wix.BUILDESPATH)\esApplicationsInstaller.asmx" />
</Component>
<Component Id="cmp47069226C95CF9260198DF80078E21F6" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{3E88DB64-AB0D-4CDC-933A-204F8C24317B}">
<File Id="filE38C974C9EBDAD325273293427A6C90C" KeyPath="yes" Source="!(wix.BUILDESPATH)\esAuditLog.asmx" />
</Component>
<Component Id="cmpC2F032B70996ED1F661DF917CA81D18F" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{31C6F424-8546-4237-8FE5-9A7E1BA0C393}">
<File Id="fil3C8572176F57424027BB9E0E96855C4C" KeyPath="yes" Source="!(wix.BUILDESPATH)\esAuthentication.asmx" />
</Component>
<Component Id="cmp26B353E79A99A6CF2A62018CF6B59CEC" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{83F37E21-F265-4839-A247-82FD8AC3BD2A}">
<File Id="filD30DB2DFE7DF8B06136D1196A4589AF7" KeyPath="yes" Source="!(wix.BUILDESPATH)\esBackup.asmx" />
</Component>
<Component Id="cmpC91CD289AA32691FAEBF3C9E87E251E8" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{6B7FD6AD-218D-4EE8-87E8-E305F917E77F}">
<File Id="filE112A538E36085463D02CE6979E64E30" KeyPath="yes" Source="!(wix.BUILDESPATH)\esBlackBerry.asmx" />
</Component>
<Component Id="cmp333AEEAB6A016D3FB8C8A79ECCBA341D" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{7D86E2DB-3785-45DC-80E4-873FC07EE06D}">
<File Id="filC92E41395B2B7A0A20B4989539566F87" KeyPath="yes" Source="!(wix.BUILDESPATH)\esComments.asmx" />
</Component>
<Component Id="cmpB5952233E952EEE0CE009858FAF527A9" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{197E33E8-61D6-4168-AD52-C2E34326D0EB}">
<File Id="fil88A7DA2BCBADC6864DA96A5C6AB09B8E" KeyPath="yes" Source="!(wix.BUILDESPATH)\esCRM.asmx" />
</Component>
<Component Id="cmp63CDFBF38C138DC641515D217460A992" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{FEA616A5-41F7-4EAC-A767-4FF338DC090D}">
<File Id="fil802190B1995D1F28AE1B62C3E0E61993" KeyPath="yes" Source="!(wix.BUILDESPATH)\esDatabaseServers.asmx" />
</Component>
<Component Id="cmp5A826D79B822277BCA6491E801E6F378" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{DF0BD379-9E35-4B2C-8B8C-6B930BDE1D7C}">
<File Id="fil7AF44BB1C7286026B6ECBC9B2BFC71A5" KeyPath="yes" Source="!(wix.BUILDESPATH)\esEnterpriseStorage.asmx" />
</Component>
<Component Id="cmp371A1092F7AA3AB0D504D443865A34CC" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{FCD79061-B2EE-46B9-98A3-FB11C4DB052F}">
<File Id="fil54C39A6242DB0530FE5FF7F6D4557894" KeyPath="yes" Source="!(wix.BUILDESPATH)\esExchangeServer.asmx" />
</Component>
<Component Id="cmp1C3F1C3FA07FBCD9AF84334F3CE994A8" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{156C268F-2376-4C3E-8F6B-3CC4DE1E3768}">
<File Id="fil87594B4F289DB1415FD1817B44892E79" KeyPath="yes" Source="!(wix.BUILDESPATH)\esFiles.asmx" />
</Component>
<Component Id="cmpDFE044BE1BEFFDE4692056EE2809335A" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{12D5006D-A7EA-4C68-9C33-1B461DCEE11E}">
<File Id="fil60F58288D33D0A54534196F3306860FB" KeyPath="yes" Source="!(wix.BUILDESPATH)\esFtpServers.asmx" />
</Component>
<Component Id="cmp9475DC4C250B01885E0633772CB4ABA0" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{B89C88AE-6D50-4060-9375-B31A58D19615}">
<File Id="fil3D10FC6381F8F0C678FDA8ED4534C494" KeyPath="yes" Source="!(wix.BUILDESPATH)\esHeliconZoo.asmx" />
</Component>
<Component Id="cmpA254ACD457311C636E120F83F46DAF00" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{E4C71CBF-9077-44CA-8C9A-A77B86B6926C}">
<File Id="filBAF5EE71D3576C1E3D009B85D1155951" KeyPath="yes" Source="!(wix.BUILDESPATH)\esHostedSharePointServers.asmx" />
</Component>
<Component Id="cmp054543F483FF5F6F43D2985746F9EC23" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{18BBC34A-AD6C-4BF1-8F77-48A34ABB35A0}">
<File Id="filF07A7ABA84439092DC56A75CD5AEBD93" KeyPath="yes" Source="!(wix.BUILDESPATH)\esImport.asmx" />
</Component>
<Component Id="cmp2A87CEC92AB93D101BB1035064B12552" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{F50CEBB2-6163-4DC7-AA29-28104C0556A0}">
<File Id="filBB7841946881D194671A3D3A6964C0F8" KeyPath="yes" Source="!(wix.BUILDESPATH)\esLync.asmx" />
</Component>
<Component Id="cmp9DF80261245D898DCEDE3671500A4941" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{EC90DB0E-7DD7-4F28-82A7-ADDC2C61502D}">
<File Id="filF84E64CD412B775188940BD65D9E8197" KeyPath="yes" Source="!(wix.BUILDESPATH)\esMailServers.asmx" />
</Component>
<Component Id="cmpEAE4870E86F8713D5B8F8E5B3E7DB73B" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{040C0AA6-B01B-43C7-BEC0-93EB6DEF2DDD}">
<File Id="filBF4851FF41796A5DB1C58EB163B22937" KeyPath="yes" Source="!(wix.BUILDESPATH)\esOCS.asmx" />
</Component>
<Component Id="cmpAA37203E63674A11256B7370B250DE91" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{07703E52-8B9A-4A89-BD07-920AE6F9220F}">
<File Id="fil1BB4D1E77135B38D8871FAEF4351B6D5" KeyPath="yes" Source="!(wix.BUILDESPATH)\esOperatingSystems.asmx" />
</Component>
<Component Id="cmpB7A039B3F4DEA52C1009F25934BA0E6C" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{099D8DC4-297C-4CD5-B1CA-7B1F5B451CCD}">
<File Id="fil866896064798796D52BCEFFD15B4E237" KeyPath="yes" Source="!(wix.BUILDESPATH)\esOrganizations.asmx" />
</Component>
<Component Id="cmpE91E638D4549C6A9636A0106DF8E5DE9" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{FA6E71E9-A1EA-4158-9656-A936AF9E469A}">
<File Id="filF60E166BC58C55454820C604DECF88BD" KeyPath="yes" Source="!(wix.BUILDESPATH)\esPackages.asmx" />
</Component>
<Component Id="cmp751C3E687B67A09CB073745B237E0525" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{34C5698D-3CB3-4655-9410-6D762EAEC53F}">
<File Id="fil67F9CD9371F0FA79E9D1A86DDA3EB6CF" KeyPath="yes" Source="!(wix.BUILDESPATH)\esRemoteDesktopServices.asmx" />
</Component>
<Component Id="cmp4B34B1C2D8BD54FCC7871B7A0DD3C025" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{FEC20EA0-7792-4455-8E45-881208464837}">
<File Id="filC29A77C5FC2388D356F5CE180A7710E0" KeyPath="yes" Source="!(wix.BUILDESPATH)\esScheduler.asmx" />
</Component>
<Component Id="cmpDD09481E4089E210F98110D5BCEC173D" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{B34E7B92-3A75-4B96-9C6A-6FBBF238328D}">
<File Id="fil954DB99705E4D0ABAF80FD05C5EBBACC" KeyPath="yes" Source="!(wix.BUILDESPATH)\esServers.asmx" />
</Component>
<Component Id="cmp14F81E356F8B049145E1E0B1FB10FC70" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{4B120476-FE23-4BCE-8720-976E7E67ABBC}">
<File Id="filB05AB0D12B12B0E56BA166FDB3609835" KeyPath="yes" Source="!(wix.BUILDESPATH)\esSharePointServers.asmx" />
</Component>
<Component Id="cmp0E482EC02E8F8D743392159B0815AD57" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{73DC81E3-D288-4371-927B-52B0463A80D0}">
<File Id="filECEC6942F4FB30FCC9B596F417D41EC2" KeyPath="yes" Source="!(wix.BUILDESPATH)\esStatisticsServers.asmx" />
</Component>
<Component Id="cmp2901A918840EBD1C1DABB2F79D2B10A3" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{13E4987E-1CAF-44F9-9A70-131A6B15CB30}">
<File Id="fil0C5C856EEF2531CC7371B44D635D05F3" KeyPath="yes" Source="!(wix.BUILDESPATH)\esSystem.asmx" />
</Component>
<Component Id="cmpA867FFA1FE49F609535DFC6052D78AD9" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{4DD5728B-AC0A-4BF3-9EEC-51DE0D6C5405}">
<File Id="filBA3E42C0E57584136ED9BB83E054D6F7" KeyPath="yes" Source="!(wix.BUILDESPATH)\esTasks.asmx" />
</Component>
<Component Id="cmp94E44DB8E3E22CCBDD39A2B83D31FBC2" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{E0FA0DF0-9BCB-4005-BDD7-E7560A7AD6B3}">
<File Id="fil6D665D8C141914B22EF8EAA3ED524BA8" KeyPath="yes" Source="!(wix.BUILDESPATH)\esUsers.asmx" />
</Component>
<Component Id="cmp9475D484AF38750120079E95AA52905D" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{DB921955-43EB-4B97-83A7-891151024DF9}">
<File Id="fil586A826180831A7C07A44E4505C1A5D1" KeyPath="yes" Source="!(wix.BUILDESPATH)\esVirtualizationServer.asmx" />
</Component>
<Component Id="cmpAF29F51A2E960C073CFDBA75F5733CDB" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{8A93695F-32DA-4BA6-8C95-3D2FDC14342C}">
<File Id="fil6A7E497383471C6AEFA4638C27AFEFEB" KeyPath="yes" Source="!(wix.BUILDESPATH)\esVirtualizationServerForPrivateCloud.asmx" />
</Component>
<Component Id="cmpE164C5218E2534965D65C709AFCB5041" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{BFA29AC9-52AC-4CCE-9220-30E1CE392235}">
<File Id="filC382504C2B694C526BAC449795BD9384" KeyPath="yes" Source="!(wix.BUILDESPATH)\esWebApplicationGallery.asmx" />
</Component>
<Component Id="cmp478ACC3817BFDF9B67438D472E16F215" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{2925FA03-8A40-4905-9A26-56DA340B53B3}">
<File Id="fil439FDF6888F9C591E5CC0FA4B191F9E5" KeyPath="yes" Source="!(wix.BUILDESPATH)\esWebServers.asmx" />
</Component>
<Component Id="cmp429BF038970E0CFC25D8BCE860D50A57" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{583E58D6-39F7-4A77-B8C0-7CB1619CCAEF}">
<File Id="filFEBBDFA9B318C2E9E751B025648C1A7B" KeyPath="yes" Source="!(wix.BUILDESPATH)\Global.asax" />
</Component>
<Component Id="cmp62A54F046CE9140B2AE9722C0257BADC" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{107FB14E-EC68-4B40-997F-F564A7AF1927}">
<File Id="filC434D7C34EA5A1746435264846757BD1" KeyPath="yes" Source="!(wix.BUILDESPATH)\SystemEventHandlers.config" />
</Component>
<Component Id="cmpD4509F6500AF198A6674B31013523FEA" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{A139CCEF-F4CE-43B4-82C2-214087D4696E}">
<File Id="fil16FEF1499BCAD707280DB872E1BAD8EC" KeyPath="yes" Source="!(wix.BUILDESPATH)\TaskEventHandlers.config" />
</Component>
<Component Id="cmp4C41BDA96CC60A0A93AD86B466B9990C" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{1DAAD946-8EDD-455E-8FE8-3093F44CB107}">
<File Id="filF4F297556BE1C365666A0114C75988AA" KeyPath="yes" Source="!(wix.BUILDESPATH)\Web.config" />
</Component>
<Component Id="cmp2EAEBDE7CDEFBD808F654465A93E1CA1" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{FB87E13C-85E9-4C09-9D9A-43338B015A16}">
<File Id="fil8F893828FDE5595526903995FA74F10F" KeyPath="yes" Source="!(wix.BUILDESPATH)\Web.config.orig" />
</Component>
<Component Id="cmp0CD3D55E3FCC2CA93F26C9E2A8015B03" Directory="INSTALLENTERPRISESERVERFOLDER" Guid="{37A4613E-DD61-4705-AB49-FE168554AA15}">
<File Id="filA732E6A7C01B18DA027C222AF4E53864" KeyPath="yes" Source="!(wix.BUILDESPATH)\WsePolicyCache.Config" />
</Component>
<Component Id="cmp8C46E0D4BA876D11A93A309526C80AE5" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{32C12DC2-7779-4DEF-8DD2-B8A8927B14D0}">
<File Id="fil56774CBC059C0521F770230987131089" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\Ionic.Zip.Reduced.dll" />
</Component>
<Component Id="cmpABC7BC49B2C2DF1518B4AB0AEB6B824E" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{653A926F-9956-4620-B1BA-438E00F16769}">
<File Id="fil421A00E17FE73E07BC534ED295BC9739" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\IPAddressRange.dll" />
</Component>
<Component Id="cmpDE18943F32A1687F2E9D92E2A1A129C3" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{CD210018-8DCE-41B1-86BD-CFFEC65953A3}">
<File Id="fil1F4B9DC588EA21FE3995D0C10DF6CE32" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\Microsoft.Web.Services3.dll" />
</Component>
<Component Id="cmpB686E1245020F1ED91E4EFDFDC53C870" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{03E514F0-6EEC-4AEA-9EEC-825DAE644BC3}">
<File Id="filAAF537C55A5ECC37A81FD1DF068DC482" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Common.Utils.dll" />
</Component>
<Component Id="cmp039435BE98FF30542B50144FD0290336" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{171AB743-ECD3-426A-86B3-927CA2044EEF}">
<File Id="fil60C85B024AF9F41601F448A42DC3EDA6" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.EnterpriseServer.Base.dll" />
</Component>
<Component Id="cmpBF157DEDA7A406B0B3A0350FBB9E5596" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{BAB468EE-6E00-4760-89B4-E45A8DE3CFF9}">
<File Id="fil1563BC927600D3BFB7DA10464A244566" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.EnterpriseServer.Code.dll" />
</Component>
<Component Id="cmpDE486BDB886A86BB93A249623EE9A392" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{ABD8E98B-6912-4DEF-8D1B-4065F4EED766}">
<File Id="fil9008B849652D076543B8D2551A1F2EC6" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.EnterpriseServer.dll" />
</Component>
<Component Id="cmpABEEE0ED98C9EA8C66301A3E473B2FAB" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{1718F1AF-9755-48B2-8030-8F99B1A95EAD}">
<File Id="filDDD6FA02C053068069D5591056CF237A" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.EnterpriseServer.dll.config" />
</Component>
<Component Id="cmpEE151CE273355C4EAFA93D6BB8369781" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{B25408D4-6683-4869-9E92-6EDACDF6C78F}">
<File Id="filB8EA5361CC42983258DCAF5E164047C0" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Plugins.2Checkout.dll" />
</Component>
<Component Id="cmpB75A176B278432452C4B8F4E7B51C1C6" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{2D318EB2-B06A-41AF-96C4-E3B6170DDA34}">
<File Id="filF98AF0BEBCA6728E7CBFA7A6E4D2C94A" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Plugins.AuthorizeNet.dll" />
</Component>
<Component Id="cmpF0E5F56755EEBAA8FACEB85955E2B103" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{360B4624-8C9F-4DF8-A0FC-377A548ABABF}">
<File Id="filBF073D3819998EAC1DC5E713525E41EB" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Plugins.Enom.dll" />
</Component>
<Component Id="cmpE8B501E71157D65D964C26A4CAF0E081" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{2BBD6C4C-24C0-497C-8EFA-F2EDAB5AB51F}">
<File Id="fil945A61A869517280C7D4AC6A766BA4FE" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Plugins.OfflinePayment.dll" />
</Component>
<Component Id="cmpE272AAB185B49027FBCAEE3945FF1563" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{F3E702FF-17ED-4FBD-9DF9-94EC8AFBD756}">
<File Id="filF8949C9A02F3C74F08321F9403B8215E" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Plugins.OfflineRegistrar.dll" />
</Component>
<Component Id="cmpA2C5C2C82EBC0982CD987516D69D8736" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{FBD39F05-7E8D-4AD4-86B0-AB60D7D2BE37}">
<File Id="filAB7DB7FF41B21055C96572825B789887" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Plugins.PayPalPro.dll" />
</Component>
<Component Id="cmpFD9EE867A03BE605714820A34938B2BA" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{5E9DA29C-12EA-44E2-84B8-5051A82CAF0E}">
<File Id="fil9E2843FA3A96D3D83A6AC26D5C310C5B" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Plugins.PayPalStandard.dll" />
</Component>
<Component Id="cmpE1F9D6B9DA76050152B9D555951441CD" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{77940753-D549-417C-8549-599B4B3AE710}">
<File Id="fil070A7D1564602C5E64D0F14C1731631C" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Providers.Base.dll" />
</Component>
<Component Id="cmp94CF5A0DCA0EF5E72DE2BABAB4B46FD5" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{0C585202-CDD1-4C6E-AF6A-8BB056B3017B}">
<File Id="fil0616936629E3B42FFC5BDB5B2C1F7E56" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.SchedulerService.exe" />
</Component>
<Component Id="cmp3643D85724FB6E436CB4A5B4A6C03019" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{69050CDA-DAAF-4692-B5AD-D1EAD3DCC5F9}">
<File Id="filD0DC369105A5B1DAC78383D8D536AEE8" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.SchedulerService.exe.config" />
</Component>
<Component Id="cmp3A6A21FF20D12C20A147292F69DFD8B7" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{B6AFDCAB-A65B-4781-BA6C-BCBE531C4D1B}">
<File Id="fil25EFF46F1EC3CEA6F4B80B9759D19E75" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Server.Client.dll" />
</Component>
<Component Id="cmpA3CA0C7545473CE36976CCEBDE454737" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{64655114-F06A-4B5C-AFE0-106133D41B52}">
<File Id="fil93D797ED695C31D336C40A0BCF4C8E75" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Templates.dll" />
</Component>
<Component Id="cmp8E811C967471516EDD3851E6B0B98109" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{1073E545-437D-4040-A2CF-7D3EEDD1DADF}">
<File Id="filF34E6EFC79378B7E3A8793888CEF00F0" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WebsitePanel.Whois.dll" />
</Component>
<Component Id="cmpDEDB0888D3DFB986812A862B5017E95C" Directory="dir6CE36061E3999438B9BA89FF4216AA69" Guid="{4038D990-94A4-4B83-8E03-1D2EB943A63F}">
<File Id="fil518311B26B2075F8BEA15D2AD6898BD0" KeyPath="yes" Source="!(wix.BUILDESPATH)\bin\WhoisClient.dll" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,421 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include Config.wxi?>
<Product Id="*" Name="WebsitePanel" Language="1033" Version="$(var.VERSION)" Manufacturer="Outercurve Foundation"
UpgradeCode="F59D3AED-C1B8-46B4-AFE2-A97F3B7DFB5E">
<Package InstallerVersion="200" Compressed="yes" />
<Media Id="1" EmbedCab="yes" Cabinet="websitepanel.cab" />
<Feature Id="ServerFeature" Title="Server" Level="1" ConfigurableDirectory="INSTALLSERVERFOLDER" AllowAdvertise="no"
Description="WebsitePanel Server is a set of services running on the remote server to be controlled. Server application should be reachable from Enterprise Server one.">
<ComponentGroupRef Id="ServerFiles" />
</Feature>
<Feature Id="EnterpriseServerFeature" Title="Enterprise Server" Level="1" ConfigurableDirectory="INSTALLENTERPRISESERVERFOLDER" AllowAdvertise="no"
Description="Enterprise Server is the heart of WebsitePanel system. It includes all business logic of the application. Enterprise Server should have access to Server and be accessible from Portal applications.">
<ComponentGroupRef Id="EnterpriseServerFiles" />
</Feature>
<Feature Id="PortalFeature" Title="Portal" Level="1" ConfigurableDirectory="INSTALLPORTALFOLDER" AllowAdvertise="no"
Description="WebsitePanel Portal is a control panel itself with user interface which allows managing user accounts, hosting spaces, web sites, FTP accounts, files, etc.">
<ComponentGroupRef Id="PortalFiles" />
</Feature>
<Feature Id="SchedulerServiceFeature" Title="Scheduler Service" Level="1" ConfigurableDirectory="INSTALLSERVICEFOLDER" AllowAdvertise="no"
Description="WebsitePanel scheduler Service">
<ComponentGroupRef Id="SchedulerServiceFiles" />
</Feature>
<Property Id="BannerBitmap">bannrbmp</Property>
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
<Upgrade Id="F59D3AED-C1B8-46B4-AFE2-A97F3B7DFB5E">
<UpgradeVersion
Minimum="1.0.0.0" Maximum="99.0.0.0"
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>
<WixVariable Id="WixUIBannerBmp" Value="bannrbmp.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="dlgbmp.bmp" />
<WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
<WixVariable Id ="BUILDESPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\EnterpriseServer" />
<WixVariable Id ="BUILDSPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Server" />
<WixVariable Id ="BUILDPPATH" Value = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Portal" />
<Icon Id="WebSitePanel.ico" SourceFile="WebSitePanel.ico" />
<Property Id="ARPPRODUCTICON" Value="WebSitePanel.ico" />
<Property Id="SERVERNAME" Value="localhost\SQLExpress" />
<Property Id="CONNECTIONSTRING" Value="1" />
<Property Id="DATABASENAME" Value="WebsitePanel" />
<Property Id="AUTHENTICATIONTYPE" Value="Windows Authentication" />
<Binary Id="bannrbmp" SourceFile="bannrbmp.bmp" />
<UI Id="CustomInstaller">
<UIRef Id="WixUI_Mondo" />
<Dialog Id="SWebDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="SUserAccountDlg">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Server web settings." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Web Settings" />
<Control Type="Text" Id="IPaddressLabel" Width="73" Height="15" X="38" Y="79" Text="IP address:" />
<Control Type="Edit" Id="IPaddressEdit" Width="214" Height="15" X="34" Y="98" Property="SIP1" />
<Control Type="Text" Id="PortLabel" Width="73" Height="15" X="259" Y="79" Text="Port:" />
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="SPORT">
</Control>
<Control Type="Text" Id="HostnameLabel" Width="73" Height="15" X="38" Y="124" Text="Host name:" />
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="SHOSTNAME" Hidden="no">
</Control>
<Control Type="Text" Id="HintLabel" Width="190" Height="8" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
<Control Type="Text" Id="IntroLabel" Width="321" Height="30" X="26" Y="191" Text="Make sure the specified host name is pointed to this web site; otherwise you might not be able to access the application." />
<Control Type="GroupBox" Id="WebSiteSettingsGroup" Width="330" Height="124" X="22" Y="60" Text="Web Site Settings" />
</Dialog>
<Dialog Id="SUserAccountDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="SWebDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="ServerPasswordDlg">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Server security settings." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Security Settings" />
<Control Type="Text" Id="DomainLabel" Width="73" Height="15" X="58" Y="116" Text="Domain:" />
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="SDOMAINNAME" />
<Control Type="Text" Id="UserLabel" Width="73" Height="15" X="58" Y="142" Text="User Name:" />
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="SUSERNAME">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="PasswordLabel" Width="73" Height="15" X="58" Y="169" Text="Password:" />
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="SPASSWORD" Hidden="no" Password="yes">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="ConfirmPasswordLabel" Width="73" Height="15" X="58" Y="195" Text="Confirm Password:" />
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="SCONFIRMPASSWORD" />
<Control Type="Text" Id="IntroLabel" Width="341" Height="30" X="15" Y="62" Text="Please specify a new Windows user account for the web site anonymous access and application pool identity." />
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="SCREATEADACOUNT" />
</Dialog>
<Dialog Id="ServerPasswordDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="SUserAccountDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="ESWebDlg" Order="9">&amp;EnterpriseServerFeature=3</Publish>
<Publish Event="NewDialog" Value="DatabaseConnectionDlg" Order="8">&amp;SchedulerServiceFeature=3</Publish>
<Publish Event="NewDialog" Value="PWebDlg" Order="7">&amp;PortalFeature=3</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify a new password for this server." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Set Server Password" />
<Control Type="Text" Id="PasswordLabel" Width="50" Height="17" X="52" Y="110" Text="Password:" />
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="110" Property="SERVERPASSWORD" />
<Control Type="Text" Id="ConfirmPasswordLabel" Width="72" Height="17" X="52" Y="136" Text="Confirm password:" />
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="136" Property="CONFIRMSERVERPASSWORD" Hidden="no" Password="yes" />
<Control Type="CheckBox" Id="ChangeServerPasswordCheckBox" Width="160" Height="17" X="52" Y="84" Property="CHANGESERVERAPASSWORD" Text="Reset Server Password" />
<Control Type="Text" Id="IntroLabel" Width="341" Height="27" X="15" Y="52" Text="Please, specify a password which will be used to access this Server from the Enterprise Server component. Click Next to continue." />
</Dialog>
<Dialog Id="ESWebDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="ServerPasswordDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="ESUserAccountDlg">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Enterprise Server web settings." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Web Settings" />
<Control Type="Text" Id="IPaddressLabel" Width="73" Height="15" X="38" Y="79" Text="IP address:" />
<Control Type="Edit" Id="IPaddressEdit" Width="214" Height="15" X="34" Y="98" Property="ESIP1" />
<Control Type="Text" Id="PortLabel" Width="73" Height="15" X="259" Y="79" Text="Port:" />
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="ESPORT" />
<Control Type="Text" Id="HostnameLabel" Width="73" Height="15" X="38" Y="124" Text="Host name:" />
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="ESHOSTNAME" Hidden="no" />
<Control Type="Text" Id="HintLabel" Width="190" Height="8" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
<Control Type="Text" Id="IntroLabel" Width="321" Height="30" X="26" Y="191" Text="Make sure the specified host name is pointed to this web site; otherwise you might not be able to access the application." />
<Control Type="GroupBox" Id="WebSiteSettingsGroup" Width="330" Height="124" X="22" Y="60" Text="Web Site Settings" />
</Dialog>
<Dialog Id="ESUserAccountDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="ESWebDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="ServerAdminPasswordDlg">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Enterprise Server security settings." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Security Settings" />
<Control Type="Text" Id="DomainLabel" Width="73" Height="15" X="58" Y="116" Text="Domain:" />
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="ESDOMAINNAME" />
<Control Type="Text" Id="UserLabel" Width="73" Height="15" X="58" Y="142" Text="User Name:" />
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="ESUSERNAME">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="PasswordLabel" Width="73" Height="15" X="58" Y="169" Text="Password:" />
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="ESPASSWORD" Hidden="no" Password="yes">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="ConfirmPasswordLabel" Width="73" Height="15" X="58" Y="195" Text="Confirm Password:" />
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="ESCONFIRMPASSWORD" />
<Control Type="Text" Id="IntroLabel" Width="341" Height="30" X="15" Y="62" Text="Please specify a new Windows user account for the web site anonymous access and application pool identity." />
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="ESCREATEADACOUNT" />
</Dialog>
<Dialog Id="ServerAdminPasswordDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="ESUserAccountDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="DatabaseConnectionDlg" Order="9">&amp;EnterpriseServerFeature=3</Publish>
<Publish Event="NewDialog" Value="DatabaseConnectionDlg" Order="8">&amp;SchedulerServiceFeature=3</Publish>
<Publish Event="NewDialog" Value="PWebDlg" Order="7">&amp;PortalFeature=3</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify a new password for the serveradmin account." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Set Administrator Password" />
<Control Type="Text" Id="PasswordLabel" Width="50" Height="17" X="52" Y="90" Text="Password:" />
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="90" Property="SERVERADMINPASSWORD" />
<Control Type="Text" Id="ConfirmPasswordLabel" Width="72" Height="17" X="52" Y="116" Text="Confirm password:" />
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="116" Property="CONFIRMSERVERADMINPASSWORD" Hidden="no" Password="yes">
</Control>
<Control Type="CheckBox" Id="ChangeServeradminPasswordCheckBox" Width="160" Height="17" X="52" Y="64" Property="CHANGESERVERADMINPASSWORD" Text="Reset Serveradmin Password" />
</Dialog>
<Dialog Id="DatabaseConnectionDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="ServerAdminPasswordDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="PWebDlg" Order="7">&amp;PortalFeature=3</Publish>
<Publish Event="NewDialog" Value="VerifyReadyDlg" Order="6">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Configure WebsitePanel database connection string" />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Database connection string" />
<Control Type="Text" Id="ServerLabel" Width="50" Height="17" X="75" Y="68" Text="SQL Server:" />
<Control Type="Edit" Id="ServerEdit" Width="163" Height="15" X="142" Y="68" Property="SQLSERVERNAME" />
<Control Type="Text" Id="AuthenticationLabel" Width="70" Height="17" X="62" Y="94" Text="Authentication:" />
<Control Type="ComboBox" Id="AuthenticationCombo" Width="163" Height="16" X="142" Y="94" Property="SQLAUTHENTICATIONTYPE">
<ComboBox Property="SQLAUTHENTICATIONTYPE">
<ListItem Text="Windows Authentication" Value="Windows Authentication" />
<ListItem Text="SQL Server Authentication" Value="SQL Server Authentication" />
</ComboBox>
</Control>
<Control Type="Text" Id="LoginLabel" Width="50" Height="17" X="71" Y="120" Text="Login Name:" />
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="120" Property="SQLLOGIN">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="PasswordLabel" Width="50" Height="17" X="80" Y="146" Text="Password:" />
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="146" Property="SQLPASSWORD" Hidden="no" Password="yes">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="DatabaseLabel" Width="50" Height="17" X="80" Y="172" Text="Database:" />
<Control Type="Edit" Id="DatabaseEdit" Width="163" Height="15" X="142" Y="172" Property="SQLDATABASENAME" />
</Dialog>
<Dialog Id="ConnectionWarningDlg" Width="250" Height="85" Title="[ProductName] Setup" NoMinimize="yes">
<Control Id="Ok" Type="PushButton" X="184" Y="60" Width="56" Height="17" Text="Ok">
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
<Control Id="Text" Type="Text" X="8" Y="8" Width="221" Height="30">
<Text>Connection not valid.</Text>
</Control>
</Dialog>
<Dialog Id="PWebDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="DatabaseConnectionDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="PUserAccountDlg">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Portal web settings." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Web Settings" />
<Control Type="Text" Id="IPaddressLabel" Width="73" Height="15" X="38" Y="79" Text="IP address:" />
<Control Type="Edit" Id="IPaddressEdit" Width="214" Height="15" X="34" Y="98" Property="PIP1" />
<Control Type="Text" Id="PortLabel" Width="73" Height="15" X="259" Y="79" Text="Port:" />
<Control Type="Edit" Id="PortEdit" Width="46" Height="15" X="259" Y="98" Property="PPORT" />
<Control Type="Text" Id="HostnameLabel" Width="73" Height="15" X="38" Y="124" Text="Host name:" />
<Control Type="Edit" Id="HostnameEdit" Width="266" Height="15" X="34" Y="142" Property="PHOSTNAME" Hidden="no" />
<Control Type="Text" Id="HintLabel" Width="190" Height="8" X="41" Y="165" Text="Example: www.contoso.com or panel.contoso.com" />
<Control Type="Text" Id="IntroLabel" Width="321" Height="30" X="26" Y="191" Text="Make sure the specified host name is pointed to this web site; otherwise you might not be able to access the application." />
<Control Type="GroupBox" Id="WebSiteSettingsGroup" Width="330" Height="124" X="22" Y="60" Text="Web Site Settings" />
</Dialog>
<Dialog Id="PUserAccountDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="PWebDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="ESUrlDlg">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Specify WebsitePanel Portal security settings." />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Security Settings" />
<Control Type="Text" Id="DomainLabel" Width="73" Height="15" X="58" Y="116" Text="Domain:" />
<Control Type="Edit" Id="DomainEdit" Width="163" Height="15" X="142" Y="116" Property="PDOMAINNAME" />
<Control Type="Text" Id="UserLabel" Width="73" Height="15" X="58" Y="142" Text="User Name:" />
<Control Type="Edit" Id="LoginEdit" Width="163" Height="15" X="142" Y="142" Property="PUSERNAME">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="PasswordLabel" Width="73" Height="15" X="58" Y="169" Text="Password:" />
<Control Type="Edit" Id="PasswordEdit" Width="163" Height="15" X="142" Y="169" Property="PPASSWORD" Hidden="no" Password="yes">
<Condition Action="disable">AUTHENTICATIONTYPE = "Windows Authentication"</Condition>
<Condition Action="enable">NOT(AUTHENTICATIONTYPE = "Windows Authentication")</Condition>
</Control>
<Control Type="Text" Id="ConfirmPasswordLabel" Width="73" Height="15" X="58" Y="195" Text="Confirm Password:" />
<Control Type="Edit" Id="ConfirmPasswordEdit" Width="163" Height="15" X="142" Y="195" Property="PCONFIRMPASSWORD" />
<Control Type="Text" Id="IntroLabel" Width="341" Height="30" X="15" Y="62" Text="Please specify a new Windows user account for the web site anonymous access and application pool identity." />
<Control Type="CheckBox" Id="CreateADAccountCheckBox" Width="202" Height="17" X="58" Y="90" Text="Create Active Directory account" Property="PCREATEADACOUNT" />
</Dialog>
<Dialog Id="ESUrlDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="Back">
<Publish Event="NewDialog" Value="PUserAccountDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
</Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Enter the Enterprise Server URL" />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Enterprise Server URL" />
<Control Type="Text" Id="UrlLabel" Width="88" Height="17" X="50" Y="110" Text="Enterprise Server URL:" />
<Control Type="Edit" Id="ESUrlEdit" Width="163" Height="15" X="142" Y="110" Property="ESURL" />
<Control Type="Text" Id="IntroLabel" Width="341" Height="27" X="15" Y="52" Text="Please, specify URL which will be used to access the Enterprise Server from the Portal. Click Next to continue." />
</Dialog>
<Dialog Id="FinishDlg" Width="370" Height="270" NoMinimize="yes" Title="[ProductName] Setup">
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="Next">
<Publish Event="NewDialog" Value="FinishDlg">1</Publish>
</Control>
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes" Text="{\WixUI_Font_Title}Setup complete" />
<Control Id="Description" Type="Text" X="20" Y="23" Width="280" Height="20" Transparent="yes" NoPrefix="yes" Text="Click Finish to exit the wizard." />
<Control Type="ScrollableText" Id="Log" Width="360" Height="174" X="4" Y="52" Property="INSTLOG" />
</Dialog>
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="CustomizeDlg" Order="3">LicenseAccepted = "1"</Publish>
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="LicenseAgreementDlg" Order="3"></Publish>
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="SWebDlg" Order="10">&amp;ServerFeature=3</Publish>
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="ESWebDlg" Order="9">&amp;EnterpriseServerFeature=3</Publish>
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="DatabaseConnectionDlg" Order="8">&amp;SchedulerServiceFeature=3</Publish>
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="PWebDlg" Order="7">&amp;PortalFeature=3</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="ESUrlDlg">1</Publish>
<TextStyle Id="DlgTitleFont" FaceName="Tahoma" Size="8" Bold="yes" />
</UI>
<InstallExecuteSequence>
<Custom Action="PropertyFinalizeInstall" After='InstallValidate'/>
<Custom Action="FinalizeUnInstall" After="InstallValidate">(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
<RemoveExistingProducts After="InstallValidate" />
<Custom Action='FinalizeInstall' After='InstallFiles' >NOT Installed or REINSTALL</Custom>
</InstallExecuteSequence>
</Product>
<Fragment>
<CustomAction Id="CheckConnection" BinaryKey="CheckConnection.CA" DllEntry="CheckConnection" />
<Binary Id="CheckConnection.CA" SourceFile="bin\WebsitePanel.WIXInstaller.CA.dll" />
</Fragment>
<Fragment>
<!-- immediate CA -->
<CustomAction Id='PropertyFinalizeInstall' Property='FinalizeInstall' Value='ConnectionString=[CONNECTIONSTRING];PreviousConnectionString=[PREVIOUSCONNECTIONSTRING];ServiceFolder=[SERVICEFOLDER];PreviousCryptoKey=[PREVIOUSCRYPTOKEY]' Return="check"/>
<!-- deferred CA -->
<CustomAction Id='FinalizeInstall' BinaryKey ='CheckConnection.CA' DllEntry='FinalizeInstall' Impersonate='no' Execute='deferred' Return='check' HideTarget='yes'/>
<!--<CustomAction Id="FinalizeInstall" BinaryKey="CheckConnection.CA" DllEntry="FinalizeInstall" />-->
</Fragment>
<Fragment>
<CustomAction Id="PreInstallationAction" BinaryKey="CheckConnection.CA" DllEntry="PreInstallationAction" />
<CustomAction Id="FinalizeUnInstall" BinaryKey="CheckConnection.CA" DllEntry="FinalizeUnInstall" />
<CustomAction Id='AlreadyUpdated' Error='Product has already been updated to $(var.VERSION) or newer.' />
<CustomAction Id='NoDowngrade' Error='A later version of [ProductName] is already installed.' />
</Fragment>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="WEBSITEPANELDIR" Name="WebsitePanel">
<Directory Id="INSTALLSERVICEFOLDER" Name="SchedulerService" />
<Directory Id="INSTALLSERVERFOLDER" Name="Server" />
<Directory Id="INSTALLENTERPRISESERVERFOLDER" Name="Enterprise Server" />
<Directory Id="INSTALLPORTALFOLDER" Name="Portal" />
</Directory>
</Directory>
</Fragment>
</Wix>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include Config.wxi?>
<?define BUILDPATH = "$(var.PROJECTPATH)\Build\$(var.BUILD)\EnterpriseServer\bin"?>
<?define SERVERBUILDPATH = "$(var.PROJECTPATH)\Build\$(var.BUILD)\Server\bin"?>
<Fragment>
<ComponentGroup Id="SchedulerServiceFiles">
<Component Id="cmpSchedulerServiceFiles" Directory="INSTALLSERVICEFOLDER" Guid="{5E9F9A14-DB8E-4555-8D40-67110698F046}">
<File Id="WebsitePanel.SchedulerService.exe" Source="$(var.BUILDPATH)\WebsitePanel.SchedulerService.exe" />
<File Id="WebsitePanel.SchedulerService.exe.config" Source="$(var.BUILDPATH)\WebsitePanel.SchedulerService.exe.config" />
<File Id="Ionic.Zip.Reduced.dll" Source="$(var.SERVERBUILDPATH)\Ionic.Zip.Reduced.dll"/>
<File Id="Microsoft.Web.Services3.dll" Source="$(var.SERVERBUILDPATH)\Microsoft.Web.Services3.dll"/>
<File Id="WebsitePanel.Common.Utils.dll" Source="$(var.BUILDPATH)\WebsitePanel.Common.Utils.dll"/>
<File Id="WebsitePanel.EnterpriseServer.Base.dll" Source="$(var.BUILDPATH)\WebsitePanel.EnterpriseServer.Base.dll"/>
<File Id="WebsitePanel.EnterpriseServer.Code.dll" Source="$(var.BUILDPATH)\WebsitePanel.EnterpriseServer.Code.dll"/>
<File Id="IPAddressRange.dll" Source="$(var.BUILDPATH)\IPAddressRange.dll"/>
<File Id="WhoisClient.dll" Source="$(var.BUILDPATH)\WhoisClient.dll"/>
<File Id="WebsitePanel.Providers.Base.dll" Source="$(var.BUILDPATH)\WebsitePanel.Providers.Base.dll"/>
<File Id="WebsitePanel.Server.Client.dll" Source="$(var.BUILDPATH)\WebsitePanel.Server.Client.dll"/>
<File Id="WebsitePanel.Templates.dll" Source="$(var.BUILDPATH)\WebsitePanel.Templates.dll"/>
<File Id="WebsitePanel.Whois.dll" Source="$(var.BUILDPATH)\WebsitePanel.Whois.dll"/>
</Component>
</ComponentGroup>
</Fragment>
</Wix>

View file

@ -0,0 +1,418 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLSERVERFOLDER">
<Directory Id="dirFE040D7A5771FED5DD77B7A4BED10E7F" Name="bin" />
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="ServerFiles">
<Component Id="cmp96DED412EC1A0669CB1EBFC35932E93E" Directory="INSTALLSERVERFOLDER" Guid="{9C6C3B75-99CA-42CD-A470-038267D9A005}">
<File Id="filB926634A8138464D8559D474F7C15209" KeyPath="yes" Source="!(wix.BUILDSPATH)\AutoDiscovery.asmx" />
</Component>
<Component Id="cmp63DCCD43AB534E8330F8B6984D54BCE3" Directory="INSTALLSERVERFOLDER" Guid="{AEC5F0D3-6614-4DA4-BC78-4C2A78B547B9}">
<File Id="filB2A8C91FC26D98653D2BE1DC12FE6C35" KeyPath="yes" Source="!(wix.BUILDSPATH)\BlackBerry.asmx" />
</Component>
<Component Id="cmp48930429FE02E9320F1C89B35CDBC289" Directory="INSTALLSERVERFOLDER" Guid="{13B15EF3-CC43-403C-9DE3-358B6F2D5969}">
<File Id="fil62C838302A2E885DE950B0F7F5F25DE2" KeyPath="yes" Source="!(wix.BUILDSPATH)\CRM.asmx" />
</Component>
<Component Id="cmp8EDD566F3B8E6A2628B81A1DDF643E63" Directory="INSTALLSERVERFOLDER" Guid="{C88D2D9A-BA4A-4564-9090-F03B86416A4B}">
<File Id="filCAC386A1837F77C802D8E416A1B3802B" KeyPath="yes" Source="!(wix.BUILDSPATH)\DatabaseServer.asmx" />
</Component>
<Component Id="cmp3C73293D8E60BEACC4600440DE85514C" Directory="INSTALLSERVERFOLDER" Guid="{3B2F8382-1F64-4485-AF29-AD3C1285A122}">
<File Id="filF3FF68EEFC53A97A90C4A37EA9FDC3AA" KeyPath="yes" Source="!(wix.BUILDSPATH)\Default.aspx" />
</Component>
<Component Id="cmpC093A71A50345DD175FC6A71AACB00C2" Directory="INSTALLSERVERFOLDER" Guid="{2F10360C-BE37-4137-917D-C2F89904DC82}">
<File Id="fil0A152D8E852A19C966DD73DAFD2A181C" KeyPath="yes" Source="!(wix.BUILDSPATH)\DNSServer.asmx" />
</Component>
<Component Id="cmpBABF4FFFC759CED5A9606023F55F378D" Directory="INSTALLSERVERFOLDER" Guid="{92BD8A10-95D9-42AA-83D2-180697C91C07}">
<File Id="fil40F7159D8E7A786994DA7432718341CD" KeyPath="yes" Source="!(wix.BUILDSPATH)\EnterpriseStorage.asmx" />
</Component>
<Component Id="cmpEC8263252ABD67BFDF9721AB87B39BA5" Directory="INSTALLSERVERFOLDER" Guid="{224559DF-466C-472E-82A3-EDF3F5E3267F}">
<File Id="fil76876D97E20E425BC7F16F618E753949" KeyPath="yes" Source="!(wix.BUILDSPATH)\ExchangeServer.asmx" />
</Component>
<Component Id="cmp6746D2022E8E7DD850E397BA7C978EC6" Directory="INSTALLSERVERFOLDER" Guid="{390D8562-D1BE-40B2-9F77-20D397A59CFE}">
<File Id="filBF0AF92BE768A2CBAE35B72158FD7356" KeyPath="yes" Source="!(wix.BUILDSPATH)\FTPServer.asmx" />
</Component>
<Component Id="cmp09C86A4BE06A7D43B7DD384C21575305" Directory="INSTALLSERVERFOLDER" Guid="{DBD91793-ECFF-4E53-BEA9-58A01D056ED9}">
<File Id="fil61BA44AC8127B44683B7F0C15986CFB5" KeyPath="yes" Source="!(wix.BUILDSPATH)\Global.asax" />
</Component>
<Component Id="cmpF942A5A78A6B3711F175A5CB3180BDA1" Directory="INSTALLSERVERFOLDER" Guid="{365035BA-DFFB-42D7-9905-3BBE9BA53AA6}">
<File Id="fil5AF665BD8AE154094178754575352117" KeyPath="yes" Source="!(wix.BUILDSPATH)\HeliconZoo.asmx" />
</Component>
<Component Id="cmp2DB0CBC9ED91615C7B8083BE3B0C86D8" Directory="INSTALLSERVERFOLDER" Guid="{27D1F383-92C7-42D1-B192-6FDD4F06CD01}">
<File Id="filC8F755A8CF3B17D0DE5FCD854E7F3B48" KeyPath="yes" Source="!(wix.BUILDSPATH)\HostedSharePointServer.asmx" />
</Component>
<Component Id="cmp4C3E6D8D4B96BE1CD0196869D14FB245" Directory="INSTALLSERVERFOLDER" Guid="{91A06C00-C855-464C-95B7-E40E2B42A0A3}">
<File Id="fil660F7518B5488A7DC066BAF177DDEFC8" KeyPath="yes" Source="!(wix.BUILDSPATH)\LyncServer.asmx" />
</Component>
<Component Id="cmp306CB2383A2A77A41C74C676B7811B47" Directory="INSTALLSERVERFOLDER" Guid="{570D5F4D-E3C7-44B1-8F71-BB8FAE372E0B}">
<File Id="fil52F43BB29FFD7B874CB9732B72671C0D" KeyPath="yes" Source="!(wix.BUILDSPATH)\MailServer.asmx" />
</Component>
<Component Id="cmpDB9D3FEB28BCAE6FDF0BE2AEF39C999B" Directory="INSTALLSERVERFOLDER" Guid="{081CFA81-3D2F-4ED5-8562-B388EB3D3A0B}">
<File Id="filD57D1DCC138248465285E1F4923C3FD9" KeyPath="yes" Source="!(wix.BUILDSPATH)\OCSEdgeServer.asmx" />
</Component>
<Component Id="cmp910629BAC7808EF349E7003C542C08E7" Directory="INSTALLSERVERFOLDER" Guid="{10CB3F33-CE53-4835-A7F8-130FD5333926}">
<File Id="filEB0E03B52AE3C28E18E512B370C1BBFF" KeyPath="yes" Source="!(wix.BUILDSPATH)\OCSServer.asmx" />
</Component>
<Component Id="cmp16A31FD89793E3A4C3D070B3B93ACCA9" Directory="INSTALLSERVERFOLDER" Guid="{911A9A31-B7DB-4E57-AE82-95634A24AEF9}">
<File Id="filE1118B09B103A0E647F1AAE7E72F4087" KeyPath="yes" Source="!(wix.BUILDSPATH)\OperatingSystem.asmx" />
</Component>
<Component Id="cmpFA5D68FB420FDEE4098A69DD50F6AB3E" Directory="INSTALLSERVERFOLDER" Guid="{711972B6-F4A5-4301-AF48-2D283784BF11}">
<File Id="fil6B0D1DDFDBA6AD698A675110C95379FF" KeyPath="yes" Source="!(wix.BUILDSPATH)\Organizations.asmx" />
</Component>
<Component Id="cmp1F38C4981EFD17118857FFFAC10371C8" Directory="INSTALLSERVERFOLDER" Guid="{689FA4DF-EF98-421F-A0D9-884B753C2A53}">
<File Id="fil0D59B72E8BA7341F46B3DDC4D964C321" KeyPath="yes" Source="!(wix.BUILDSPATH)\RemoteDesktopServices.asmx" />
</Component>
<Component Id="cmp21B566F180DADD0183C0353A687F6FDE" Directory="INSTALLSERVERFOLDER" Guid="{369B51F8-1CC6-4ED1-9E11-AD900120D03C}">
<File Id="filB81FD249DAA39D361B2A0B6687F4F0F3" KeyPath="yes" Source="!(wix.BUILDSPATH)\ServiceProvider.asmx" />
</Component>
<Component Id="cmp3AA7B99FF832F3B7E9A5808320B0FFE1" Directory="INSTALLSERVERFOLDER" Guid="{97346EA6-AABE-4F80-A6DD-FF3F692D184F}">
<File Id="fil8FFE5F6C7A39E2A98052559F2C4BCB40" KeyPath="yes" Source="!(wix.BUILDSPATH)\SharePointServer.asmx" />
</Component>
<Component Id="cmp92F0443BC664FDB758F4B995F00C9E43" Directory="INSTALLSERVERFOLDER" Guid="{F6F4567D-F470-488E-A15B-6D53A8E050DA}">
<File Id="fil3D620C4D77E89EEB1758004E5536C605" KeyPath="yes" Source="!(wix.BUILDSPATH)\StatisticsServer.asmx" />
</Component>
<Component Id="cmp35F67952E66E5E84604457EC472D58C8" Directory="INSTALLSERVERFOLDER" Guid="{B4BE3772-8AF3-40F8-8BAE-54CE3623A1EE}">
<File Id="fil8CE9584A7F2FEB79B4FC404F827FD6E7" KeyPath="yes" Source="!(wix.BUILDSPATH)\VirtualizationServer.asmx" />
</Component>
<Component Id="cmp033A84582ECFB7373515A77AE2A2CA16" Directory="INSTALLSERVERFOLDER" Guid="{60268AED-8BFC-4272-A053-EE9A38C7BC30}">
<File Id="fil9C92DC5A0309F783F8884E9652AB5E8D" KeyPath="yes" Source="!(wix.BUILDSPATH)\VirtualizationServerForPrivateCloud.asmx" />
</Component>
<Component Id="cmp5A55A21753E524E255CC690E7E70F3CF" Directory="INSTALLSERVERFOLDER" Guid="{3CEBB63E-F164-4514-965F-55A998706AE1}">
<File Id="fil0F382EB2E8489D90828EC5F77409E57D" KeyPath="yes" Source="!(wix.BUILDSPATH)\Web.config" />
</Component>
<Component Id="cmp527BAE5A0DD4D756EB186D7D6D3F7E0A" Directory="INSTALLSERVERFOLDER" Guid="{29EF00C0-CB89-43BB-978F-FB60100E6D75}">
<File Id="fil1940908EBFCA3C071C2BB68540F2B8E5" KeyPath="yes" Source="!(wix.BUILDSPATH)\WebServer.asmx" />
</Component>
<Component Id="cmp3B7B3671DB341EE5B0EAA7AA1FF1540C" Directory="INSTALLSERVERFOLDER" Guid="{63E07E71-3588-46F8-8DCC-C318480F572B}">
<File Id="fil8037802C78CCC9C56D336FAF8651017F" KeyPath="yes" Source="!(wix.BUILDSPATH)\WindowsServer.asmx" />
</Component>
<Component Id="cmp2CB0FF22D207EBE0AAE9670986C7C64A" Directory="INSTALLSERVERFOLDER" Guid="{795BCFC9-D995-4A3B-A18C-0D867E31F448}">
<File Id="fil86781B5872C7AFF39512F3DC4F983251" KeyPath="yes" Source="!(wix.BUILDSPATH)\WsePolicyCache.Config" />
</Component>
<Component Id="cmpC637B58C5FFF410A8E4C2BE718BBEDD9" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{14F2635D-BAFA-430E-BCF3-75EBC467094E}">
<File Id="filA2666387782AEE09B82A53BE3E469295" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Ionic.Zip.Reduced.dll" />
</Component>
<Component Id="cmp7B741F3B7DB42D0193CEAFB0813A819C" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{F9DA6DD9-E17C-480E-8265-F30877D2C059}">
<File Id="filF0E4FE856FD7D18B16E3D53385083F22" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Microsoft.Practices.EnterpriseLibrary.Caching.dll" />
</Component>
<Component Id="cmpBF017B6DDBC7DE0627670A52CA32C8D9" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{CEEB9EA4-C9F6-4F0B-96F4-4C96C4C6B4CC}">
<File Id="filA6B23F941E4184964643B4DA5E6980B4" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Microsoft.Practices.EnterpriseLibrary.Common.dll" />
</Component>
<Component Id="cmp5EF44AD73F328024CA2CBA6B38BB2AFA" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{65DC696D-8164-412E-AF76-4CFBCC16D101}">
<File Id="filDA2ECC971C160878E26148C68ACECE82" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Microsoft.Practices.ObjectBuilder.dll" />
</Component>
<Component Id="cmpCE54D375F77874621EDDB0A4940EB9E6" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{ACF45F64-41E8-4251-A966-C75E5FB81FA9}">
<File Id="fil29B93179D8635CD59302BFCB051D86DD" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Microsoft.SharePoint.dll" />
</Component>
<Component Id="cmp2686283674A773D30617C99B8FC52DEB" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{2D7746C6-0557-42B4-A2FA-8C10B8833417}">
<File Id="fil85403E8F62C0CF28016EB380EF5888D0" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Microsoft.Web.Deployment.dll" />
</Component>
<Component Id="cmpBFEB09F79738319DD8854330EB839860" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{79DFF9F5-A68B-4AA1-8C33-6B6D75880E17}">
<File Id="fil7A107E0E86AFB962B7D2018F96A2FBAF" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Microsoft.Web.PlatformInstaller.dll" />
</Component>
<Component Id="cmpD2BAACE827B05F57348AEE581F1002BA" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{44AF55E5-2F0D-4152-B69A-846AD72CD58F}">
<File Id="fil8EC75244E12F566A35ABCEA075D25971" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Microsoft.Web.Services3.dll" />
</Component>
<Component Id="cmpBBCCF5AAA10D0EF2A86706EB38FE2A76" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{C2BCB517-E5F9-46E1-AAC0-79FB2F8063CA}">
<File Id="fil450A02E6C36019B5EB20FFC8719D1B5A" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Base.dll" />
</Component>
<Component Id="cmp1515283D9C191E96AC80C19F89624484" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{6F419407-2348-424C-BBCF-820985351EFB}">
<File Id="fil06C448136A3D63B9C801A578BECEB657" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Database.MySQL.dll" />
</Component>
<Component Id="cmp95EA51E0D1B02835C3A745D2A234B4D1" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{D1872D1F-0323-4CD5-B776-3F6D3F707D5F}">
<File Id="fil14526A4B2779F18C354953674E3243DC" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Database.SqlServer.dll" />
</Component>
<Component Id="cmpA332F87839F8A0555ADB89089F952EE4" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{CC5182DE-9035-4C5F-A46F-D8E4F83E9B4D}">
<File Id="fil0D70139453C6D008A6812D80E4A60A1E" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.DNS.Bind.dll" />
</Component>
<Component Id="cmp03DB823328F105704F7368A7884ECB1B" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{A888227E-F6A3-48FA-B311-95FA16DEE58D}">
<File Id="fil29EC8C959BD56E7D921A3C9C349B8A7D" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.DNS.MsDNS.dll" />
</Component>
<Component Id="cmp8013CAEACE4AE48717802BD85A2F326F" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{1C409CD8-FDE7-4892-AAF2-C36677D5D78E}">
<File Id="filC6A5376B0A44A745BEA04FB4A5AB2626" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.DNS.Nettica.dll" />
</Component>
<Component Id="cmpB3AA0826476AF2ACC2AB245147A22BC2" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{C7EB3435-38E8-40E7-9E08-33AE26AE247E}">
<File Id="fil678E64766BEF048B651ABC3419A63816" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.DNS.PowerDNS.dll" />
</Component>
<Component Id="cmpA1D452FC0569A74063D6BE2417476F29" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{F04B2B35-E4A7-446B-BE2D-084991E381E5}">
<File Id="fil9A3A403E4F95FA57DA84D560BF60B068" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.DNS.SimpleDNS.dll" />
</Component>
<Component Id="cmp6507EEDFDF4ADCC430EE41C14945F40C" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{433E06B9-2F3E-493B-97BE-81D7DF0FE2DA}">
<File Id="fil91917E9FBA2C4C30451AD41F69CF6EB6" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.DNS.SimpleDNS50.dll" />
</Component>
<Component Id="cmp905C0BAE44B2E88242B9973329CBF4B6" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{1EE1AE4A-7E55-438C-83E5-661F5C3D076E}">
<File Id="filC33ACD3FABEB60DF489A31FAC708083E" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.EnterpriseStorage.Windows2012.dll" />
</Component>
<Component Id="cmp9F4FDF79F1734A2143D3802D5187B25D" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{E2CD6B2C-AA2D-4C7E-9C7F-51EF3ABA8E64}">
<File Id="filFB7D4FF05D80FFF70AC5F00A36CF2EB7" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.FTP.FileZilla.dll" />
</Component>
<Component Id="cmpE02E95B1EB07113A26867DA24B42A27E" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{FAA3F757-E2F9-4976-84FC-5A3CE72B4BDA}">
<File Id="fil034287C431D58A0A2887A315EBABC440" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.FTP.Gene6.dll" />
</Component>
<Component Id="cmp9289FE560AE048D24623B214F1D6DC91" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{4ABDF6C2-CE4A-4295-A2C7-3FF2EB5DEBCD}">
<File Id="fil652138C0629DC965870B068FB36CA409" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.FTP.IIs60.dll" />
</Component>
<Component Id="cmp5B92624363FC4444E67A6CE069B4A678" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{379EE786-5546-4CE0-970D-F86F50DE8522}">
<File Id="filEEE26B77994B26E68CF545745F727931" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.FTP.IIs70.dll" />
</Component>
<Component Id="cmp3A0C35665CCAEC2E26672C21E4EE8200" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{615CBB3C-7A16-49FB-8108-433B986B68A6}">
<File Id="fil353B036889A96E5981113A98376A396D" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.FTP.IIs80.dll" />
</Component>
<Component Id="cmp2495A7FAC5953B9B5EA581CEF304A00E" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{39540F66-DC39-49B2-AC9C-3ED2A834C4E2}">
<File Id="fil9974B5EF932DE87359CAB6A73C676280" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.FTP.ServU.dll" />
</Component>
<Component Id="cmp8B59B4F33E3DAECEDFAB2E5A14917300" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{4EFA61BB-A2F9-4D09-99FF-9250943C7C5B}">
<File Id="fil1BBD5C87DDE7F63DA09C857427384BD5" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.HostedSolution.dll" />
</Component>
<Component Id="cmpA888923B593C22476D796F9528A6F85E" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{FB5261D8-E23C-4646-967D-D8760A0B0E03}">
<File Id="fil9420EA407752E6B19DAC2A82686C374A" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.AbilityMailServer.dll" />
</Component>
<Component Id="cmpCF68B3E2AC37C2C18EADE9091B711F74" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{3F8AD4B7-6B61-4AA4-91A1-C166EB1FF228}">
<File Id="fil28524A2B3EAA52BBDC052EB2145D4779" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.ArgoMail.dll" />
</Component>
<Component Id="cmp7FEDE73801DC1E58F00EC0FB2DBF41DD" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{46400D14-78C9-4FFC-A53E-0DE9347B7318}">
<File Id="fil6926A82EFE13230A1029ADA37F3B275D" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.hMailServer.dll" />
</Component>
<Component Id="cmp568A5F5714FE855715F0768AFBC9E534" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{2B1EBC99-3D8B-4B0C-818B-DB5E62221A42}">
<File Id="filB4BC4706797A99E1AD42680774C5EAAC" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.hMailServer43.dll" />
</Component>
<Component Id="cmp087F4389AB58E1F849684FB3BD1B0C33" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{0B8DDE20-9A2C-4994-AE1C-6A6EF2DBD898}">
<File Id="fil72B71156FDA4DF016DBC3A25EBAFB7BA" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.hMailServer5.dll" />
</Component>
<Component Id="cmpD1E8FAAC1C4B89E40C8A19742CD4BDB0" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{2EE2C4AA-81B8-4619-9026-B0892098355B}">
<File Id="fil671F0D630BEB8FE39C8A823383B531D4" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.MailEnable.dll" />
</Component>
<Component Id="cmp537FE354DD1E89AD52C01F4AFD11FF25" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{6586DF76-4439-419E-A4A8-EA89FE47BA05}">
<File Id="fil84746644F379BD1A44D89738E5E60D77" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.MDaemon.dll" />
</Component>
<Component Id="cmp9EF9EC8F1FCA522773D623C062901798" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{F9F873EF-3708-49BC-BE7C-C0D7AC725FE4}">
<File Id="fil136BB48E8EF95DC44AC78171D3CA5D20" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.Merak.dll" />
</Component>
<Component Id="cmp2F2088486B25CBBA296988F185D602F3" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{01504469-600B-4F5D-982E-B0818B6F154A}">
<File Id="filB5701056CEFAB30CDD5C02DED13563E2" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.Merak10.dll" />
</Component>
<Component Id="cmpA62744DABB1044B5AC910B0C64FFC1C8" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{D422F171-8031-4395-9F8D-2185510B3F37}">
<File Id="filA00E9CA8A75BC9EE2DEF4C2CA9CEB059" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.SmarterMail10.dll" />
</Component>
<Component Id="cmp06AA8A52C332A572C8C74D7F2C95D4DE" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{4FE3DDFA-20C3-43DF-8156-F3B438DA0B63}">
<File Id="fil785CD72996AD86F1A6720EA446F8F21B" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.SmarterMail2.dll" />
</Component>
<Component Id="cmpCA1F382779EA19E5B8793A3D4FFC0FF2" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{A9390DBC-17C9-4AE0-B323-9E78932740B1}">
<File Id="filEB2957C86497F25EAC16B036486CA283" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.SmarterMail3.dll" />
</Component>
<Component Id="cmp1083DC408DF20492F5DE377A16263FF7" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{873E0B3C-69C7-4C0A-AF59-7F45BCB183DE}">
<File Id="filD7F7DAB2FF0788C732AD24E2D383C1DF" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.SmarterMail5.dll" />
</Component>
<Component Id="cmp52001A1619C6C6462AD4E18E29D55C6F" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{16363D08-6426-4501-9BBD-2CD0DCFAE59D}">
<File Id="fil72440168699B087AAAC3302250859BFE" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.SmarterMail6.dll" />
</Component>
<Component Id="cmpE1B98C56567775781CE232F3214F524A" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{7C655C0D-BDBD-4E0F-96A2-CBA8E72CE9FB}">
<File Id="fil12C3D1282B8A801E36D99E762A121A66" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.SmarterMail7.dll" />
</Component>
<Component Id="cmpA4E38AE6D4E9AE1176AA16104BE5986B" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{64BE947C-733B-449D-A19C-903AD3F6CFEF}">
<File Id="filA9E11356C8902BB5EF584834550A69CC" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Mail.SmarterMail9.dll" />
</Component>
<Component Id="cmpB38C9202BA28BAD71AD07B923AF3772F" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{24D0FE3E-0342-4BD6-BDEB-9D0D02E6EF08}">
<File Id="fil06BA6E487745E8B3E0494FFB1AA2B497" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.OS.Windows2003.dll" />
</Component>
<Component Id="cmp63DB63B64A618EA65264B01D70000FED" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{03D629BA-7350-48AF-A2C3-B30DBEC9105F}">
<File Id="fil58C34443FC21D9BE6B71E2919A89BAC0" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.OS.Windows2008.dll" />
</Component>
<Component Id="cmp2C66B23D5DF822EB8D663F1FC32F569D" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{EAB1EACD-3AAC-4384-B2B6-5885CF367240}">
<File Id="fil5675AA4257F6D7D96EE65FDBF385ED91" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.OS.Windows2012.dll" />
</Component>
<Component Id="cmp9850380FBEE49BF361DE1623D8988A44" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{0AE43F78-5C21-4211-A421-D46C359321CC}">
<File Id="filE253B426B238460A49DEEFD29D9142AD" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.RemoteDesktopServices.Windows2012.dll" />
</Component>
<Component Id="cmpC14DDD7B34A70EA7083A2BE11838F701" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{45A04EFE-63F6-4C26-8197-55EAD1CA1A98}">
<File Id="fil24FA21A4CEF15DA75093A3A5AAFF93A6" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.SharePoint.Sps20.dll" />
</Component>
<Component Id="cmpA6C82FCCA55B620D750CE7674B8B9F44" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{91201239-F139-4A37-ACCF-D39D3BFFE76E}">
<File Id="filBB1B7CA0EAC43612F902D90A65A224CE" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.SharePoint.Sps30.dll" />
</Component>
<Component Id="cmpFF119681BD8008898F6103A8BCFDBB2F" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{24E49F72-7DD8-4B06-B7BB-7407F2421B8F}">
<File Id="fil573514FBA2C5F9C92BD1B0532D054554" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Statistics.AWStats.dll" />
</Component>
<Component Id="cmp2F5BF453E89F94BB15B7D1949534DF0E" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{0FC90D00-AC40-45FD-9322-416488793CE1}">
<File Id="fil14A6E07E9EA9FE90EE1EC91858585B5D" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Statistics.SmarterStats.dll" />
</Component>
<Component Id="cmp4AA6CB20AF0A6ECC7DD2D95EF7094CBE" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{16FA9CF8-6FA9-4EB2-9713-FDE6E1D3CD66}">
<File Id="fil7D5F6004B61FE9C35A959936BC31781B" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Virtualization.HyperV.dll" />
</Component>
<Component Id="cmp154A0DA3C71753EEEB9F809B83E08E27" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{803B2DC8-DE9B-4700-8040-4010012BFB2C}">
<File Id="filFBC7D819D03B96C18FB156EF5F9539A2" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.VirtualizationForPC.HyperVForPC.dll" />
</Component>
<Component Id="cmpE9B063D357EB748BE21228BA513E8674" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{7AA5D1E6-CE53-46DC-8540-A53CB7A4492F}">
<File Id="fil84F5BBFA5CEC951535A17FE38933B981" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Web.HeliconZoo.dll" />
</Component>
<Component Id="cmp32968AF9A3AD6138CDBA254104E73120" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{B00D1740-9A8B-4903-B0FC-13C8FE42BE8B}">
<File Id="fil7F9A12715FB49D2642B96929B1ECAAA5" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Web.IIs60.dll" />
</Component>
<Component Id="cmpFD6B772BF9EB61A8AABA7216A6B675EB" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{53E8EEE3-1CF6-4CE6-B229-85655E71D82A}">
<File Id="filB31183F0242FE3ABB8E2EFF5383FD7F7" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Web.IIs70.dll" />
</Component>
<Component Id="cmp7D71D06B103F2EBDCF0EDBD2460F6502" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{E44D17E7-9F04-4971-96EA-E68A2CF75CB9}">
<File Id="filBAEBC7317268ABBD3A5F8E738AB73F39" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Providers.Web.WebDav.dll" />
</Component>
<Component Id="cmp5FCD88765D7659FCAB72DE01DA3140D1" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{D711AEDE-7E91-4AD5-B09B-CC68927A7A0D}">
<File Id="filFE922D534F7035FB38E8FFD8302CE43A" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Server.dll" />
</Component>
<Component Id="cmpE80C969BC3E766BF7FEDB0D98758E8E3" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{BA96E14A-4577-4F56-ADF1-6A7C8D84A4E0}">
<File Id="filF149294B668ADAD1E4393AAA18AACCF0" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Server.dll.config" />
</Component>
<Component Id="cmp81063BD4D67928BEDE27EE6B8E07AAF9" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{4AA6D12E-7A2B-4A02-81AC-E618A32FA4FE}">
<File Id="fil2C918FFCA79875EE4BF1EA215A877524" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Server.Utils.dll" />
</Component>
<Component Id="cmpCC2FC19B4E788EA65E57C9CC016E04C1" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{AB103062-0067-4C3C-B6C9-C40A2317014A}">
<File Id="filCFE40B401F4EF39EAE6C9CBE6D4A3057" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Server.WPIService.exe" />
</Component>
<Component Id="cmp65CB7C68CAB97FA89556C6A83E32C596" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{BBA5F432-4B91-43EA-8F94-2CED1884D0FA}">
<File Id="fil78C2D2ADE981704BA7AF30575397B7FB" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WebsitePanel.Server.WPIService.exe.config" />
</Component>
<Component Id="cmp378159186E25B10226397C53E06F38BA" Directory="dirFE040D7A5771FED5DD77B7A4BED10E7F" Guid="{D30346C4-D09A-4203-83A2-280F077E8BF6}">
<File Id="filE2975D3613DBD61E124E4C7EBE483F4E" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\WpiServiceContract.dll" />
</Component>
<Component Id="cmp4985003E6B0F0F1645AE04EDE9269CF2" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{171E2088-1E1B-46E6-B4A8-A69DF38B4798}">
<File Id="fil50398A76EEBD64ADE5B61D151FC852A5" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.crm.sdk.proxy.dll" />
</Component>
<Component Id="cmpAFBA22FA233D2CFF4BBD805340F0D0A9" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{0ED94A25-49E8-4CAF-B6B7-D5C51E5A79BB}">
<File Id="filEDA542483FE90DCD594CD35C18C12F81" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.xrm.client.codegeneration.dll" />
</Component>
<Component Id="cmp62740FCAFC1FB55DF089182FBAA82930" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{E205D57B-12B5-4CAD-BD52-DFE910FB0982}">
<File Id="filB23E88B971878AF62AEB0AD41113CB04" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.xrm.client.dll" />
</Component>
<Component Id="cmp4A65EA6177B134C49D67ACF23C7B9B00" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{6AC5631B-3F3E-4F30-ABE5-DE67BCB9EB6A}">
<File Id="filEC455712CF5CA31CC79277FB2A8EEDA5" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.xrm.portal.dll" />
</Component>
<Component Id="cmp9F5B9579A69774A96A2A5E831433656C" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{3A09A1AE-AE62-4020-9944-94CAF14F3869}">
<File Id="fil78C4A570820F3C09BF139830A20D0580" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.xrm.portal.files.dll" />
</Component>
<Component Id="cmp4B5B936B03682B4316FEF78E2CB2EECA" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{C7F490EE-A281-4D2F-BD9A-4F26A4716ECE}">
<File Id="filAA6555CB16EB7368E0935AD3D36B0098" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.xrm.sdk.deployment.dll" />
</Component>
<Component Id="cmpDB221AF3E175B9F31103DF784D4A8B29" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{9AFF2BF3-990A-408D-B2A6-CC3E7DBE512C}">
<File Id="fil3AF7A7AB8BF103BB79B55DE5CDA6953E" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.xrm.sdk.dll" />
</Component>
<Component Id="cmp0A7AC307A4E864E745D908041B544E61" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{141A09BE-907B-4A14-A59A-D2DFFCE355E2}">
<File Id="fil39DAA17C0D70352C51E21C93BF82B3CD" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\microsoft.xrm.sdk.workflow.dll" />
</Component>
<Component Id="cmpA3498D1041ABACD2F4399A2B461795EF" Directory="dir0FF1D37B4E002D1097484E8DA68347FE" Guid="{2E62A428-408A-4330-9953-0F1C4F3232AE}">
<File Id="fil245E9A6DE9B7C784141B733B0901A182" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2011\WebsitePanel.Providers.HostedSolution.Crm2011.dll" />
</Component>
<Component Id="cmp600CE97A0561D00935DDC3C869CB5BC0" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{BE962314-DEC0-4420-8A40-15B76F6A401C}">
<File Id="fil2724A9052946EBC7B97A2700DCD3B837" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Crm.Sdk.Proxy.dll" />
</Component>
<Component Id="cmp58D4C555A54200FF930A4A9821787905" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{437F25DA-95EB-43CF-AB62-115CE99277E8}">
<File Id="fil2ED83C4E77D49C99B842E7AACE418F61" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Xrm.Client.CodeGeneration.dll" />
</Component>
<Component Id="cmp20512F14450C80F57E51D4F2DFE7430E" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{664BAC91-236E-460B-A1FD-1BF249A6AFB7}">
<File Id="filD65006CF70206A849BAB186C60FF4370" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Xrm.Client.dll" />
</Component>
<Component Id="cmpE8C26850E14F5DA23D7D9638390E3C4D" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{DC87DA64-A0F6-4F76-AF1A-CB8FE8E536B7}">
<File Id="filEF115D6A5B962C01CCC0B0F4B3B09825" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Xrm.Portal.dll" />
</Component>
<Component Id="cmp197EDE5370E60E063675D38B1B451FCE" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{80438A8A-13BF-4B6E-B634-4418F432B7EA}">
<File Id="fil815EBE3DA213A225C9D8C64E5E27F8C0" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Xrm.Portal.Files.dll" />
</Component>
<Component Id="cmpB313C65750A6739F92659B31A8760885" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{99D73D6C-B91E-4EE4-A366-254AC2B3DEBC}">
<File Id="filE50151DB1204CE36C6C22DF57076F3CE" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Xrm.Sdk.Deployment.dll" />
</Component>
<Component Id="cmp739A4CC29091628852BFF4399EB69968" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{4637C66A-AF2F-454A-BFE5-64C6A08FC4C6}">
<File Id="filDD18D2532741F040025B05BEFDC0793D" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Xrm.Sdk.dll" />
</Component>
<Component Id="cmp253CF14BA3D498979675E07A12BF9523" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{4054EE2F-43C4-4EAD-9D78-7F562C3E9F72}">
<File Id="fil13084C66DF169007CBA96CBDE22259D6" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\Microsoft.Xrm.Sdk.Workflow.dll" />
</Component>
<Component Id="cmp0C5DA0CE34C0E7592487E9967664BAAD" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{8ABE606F-FB2D-4D55-B735-574C164124A8}">
<File Id="filAFF3218DD357C7611D065CCC68D49359" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\System.Management.Automation.dll" />
</Component>
<Component Id="cmp2DEA3D6DF990C7724B0F1B530014F707" Directory="dir14530AC2BB9F57DEF83E8CF76842E9A1" Guid="{0108598D-CD2C-4C77-BE16-2D1B19053E2A}">
<File Id="filA3F7F760A288D162EE6E615A85B1DBEB" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Crm2013\WebsitePanel.Providers.HostedSolution.Crm2013.dll" />
</Component>
<Component Id="cmpCEE2DE5921F480D680024ECFC9E4F9B5" Directory="dir9DB81FFFD1FC013D1C2CF57BA60D8A21" Guid="{DD7699F6-CB55-4733-8329-43AF0BB9B07F}">
<File Id="filBFA27EC94AACB8942D029160D37FB3BB" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Dns2012\Ionic.Zip.Reduced.dll" />
</Component>
<Component Id="cmpC15EACF4C9978AD51C6A7193D28859D5" Directory="dir9DB81FFFD1FC013D1C2CF57BA60D8A21" Guid="{2B246ABB-98A2-429E-9101-98B10C756F69}">
<File Id="fil840EC1EF00874898A1EE79B9EA93628B" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Dns2012\Microsoft.Management.Infrastructure.dll" />
</Component>
<Component Id="cmp5E399471288617EBA91BEC5A3D0A53D4" Directory="dir9DB81FFFD1FC013D1C2CF57BA60D8A21" Guid="{D782FF0C-2562-437F-80F5-155176093125}">
<File Id="filC95A7BD7394C0B6ECC96C1F2B8527FAF" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Dns2012\System.Management.Automation.dll" />
</Component>
<Component Id="cmpEA96B4323E4ECB2A09578CCB5B233A73" Directory="dir9DB81FFFD1FC013D1C2CF57BA60D8A21" Guid="{DA39E5B3-BA19-45A4-AD91-B2E72A69D4A8}">
<File Id="fil4D3C607CD38D7122FC76402A9193E9B6" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Dns2012\WebsitePanel.Providers.Base.dll" />
</Component>
<Component Id="cmp80A882410F75D6B41C82A7EA3A2D0120" Directory="dir9DB81FFFD1FC013D1C2CF57BA60D8A21" Guid="{10FE1D7B-3105-47CF-94D2-94A75A55FEA4}">
<File Id="filB01B9791F743D6A987E95D1A97AA04F3" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Dns2012\WebsitePanel.Providers.DNS.MsDNS2012.dll" />
</Component>
<Component Id="cmpB54E7486866B33C5516D55BB38C8D42F" Directory="dir9DB81FFFD1FC013D1C2CF57BA60D8A21" Guid="{0F9DED36-1D3E-4412-813E-242524E6D141}">
<File Id="fil67DE9EE273A5936C2749D2C54EA87413" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Dns2012\WebsitePanel.Server.Utils.dll" />
</Component>
<Component Id="cmp168AE7D42CCDE5239DBC3F652AD99C74" Directory="dir30FECF9E1562D1E619668EB5D21027FC" Guid="{38ED8BAC-7486-4528-8CBD-98C7AE0BADBB}">
<File Id="filC316983A9FBFA8054061C1E2D4FF7FF6" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Exchange2013\WebsitePanel.Providers.HostedSolution.Exchange2013.dll" />
</Component>
<Component Id="cmp324158A3B60665EF9B8FDB27D76D8D3E" Directory="dir0EE9B80D60D6BE4DCE110990FB635EA7" Guid="{F0B1FAA9-C0C7-454D-857B-3842E21DF421}">
<File Id="fil0AE2A62224B28CB32C10969DC44EA1FD" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\IceWarp\WebsitePanel.Providers.Mail.IceWarp.dll" />
</Component>
<Component Id="cmpEC8C9D71455BA37AC2CB74D469511A4B" Directory="dir545332CB192D456FD4BEFF68E1658417" Guid="{CF0797AF-5C03-4136-B5AF-F2DD54DA7DE2}">
<File Id="fil0A9E6D264D8AA75E1D602A135A039DB0" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\IIs80\WebsitePanel.Providers.Web.IIs80.dll" />
</Component>
<Component Id="cmp4613983A20D5646920C0EAA77F4FC7C0" Directory="dir899A65007F0749FFEFB03A98389E2079" Guid="{688171A2-EEA1-4D0D-90DF-2E784F2FE901}">
<File Id="fil44D8CC7D807D8FEBAB4FE6054620C736" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Lync2013\WebsitePanel.Providers.Base.dll" />
</Component>
<Component Id="cmp3C97FB9FDA4AD2A6CCAE7058F0F2E380" Directory="dir899A65007F0749FFEFB03A98389E2079" Guid="{2A67A316-56B4-45B3-9FA2-DC9A93EE94D7}">
<File Id="fil23CA402B8594238B3D64EFD3B4F17880" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Lync2013\WebsitePanel.Providers.HostedSolution.Lync2013.dll" />
</Component>
<Component Id="cmpAB76FA39538E7C8466CA77180637A684" Directory="dir899A65007F0749FFEFB03A98389E2079" Guid="{E58132D2-B8A6-49CB-A5C6-9312297E65D2}">
<File Id="filB0539BC659B2897F193D3FC4511C39F2" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Lync2013\WebsitePanel.Providers.HostedSolution.Lync2013HP.dll" />
</Component>
<Component Id="cmp07CD2C76A86BAB89DD086BC9292D5A12" Directory="dir899A65007F0749FFEFB03A98389E2079" Guid="{05D926CF-5C42-4F53-B4D5-5A87A057E97D}">
<File Id="fil6A766B3DB5441EF371E0E8117306BE23" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Lync2013\WebsitePanel.Server.Utils.dll" />
</Component>
<Component Id="cmpAC4A187E977273BE5B8FA2D4DD607F74" Directory="dirB3D4D8D478E88FDD3AAF3F23B7B1E605" Guid="{54A1D13C-FA3A-4A2C-B083-C00704F7B4F1}">
<File Id="fil0AD10A0DE839FF8CECBF22DB6B427C12" KeyPath="yes" Source="!(wix.BUILDSPATH)\bin\Sharepoint2013\WebsitePanel.Providers.HostedSolution.SharePoint2013.dll" />
</Component>
</ComponentGroup>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dir0EE9B80D60D6BE4DCE110990FB635EA7" Name="IceWarp" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dir0FF1D37B4E002D1097484E8DA68347FE" Name="Crm2011" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dir14530AC2BB9F57DEF83E8CF76842E9A1" Name="Crm2013" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dir30FECF9E1562D1E619668EB5D21027FC" Name="Exchange2013" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dir545332CB192D456FD4BEFF68E1658417" Name="IIs80" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dir899A65007F0749FFEFB03A98389E2079" Name="Lync2013" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dir9DB81FFFD1FC013D1C2CF57BA60D8A21" Name="Dns2012" />
</DirectoryRef>
</Fragment>
<Fragment>
<DirectoryRef Id="dirFE040D7A5771FED5DD77B7A4BED10E7F">
<Directory Id="dirB3D4D8D478E88FDD3AAF3F23B7B1E605" Name="Sharepoint2013" />
</DirectoryRef>
</Fragment>
</Wix>

View file

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.7</ProductVersion>
<ProjectGuid>{978f0a18-7c81-4561-8f6d-5a165484ad0a}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>Websitepanel</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug;BUILD=debug</DefineConstants>
<SuppressValidation>False</SuppressValidation>
<SuppressIces>
</SuppressIces>
<CompilerAdditionalOptions>
</CompilerAdditionalOptions>
<LinkerAdditionalOptions>
</LinkerAdditionalOptions>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>BUILD=release</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="EnterpriseServerFiles.wxs" />
<Compile Include="PortalFiles.wxs" />
<Compile Include="Product.wxs" />
<Compile Include="SchedulerServiceFiles.wxs" />
<Compile Include="ServerFiles.wxs" />
</ItemGroup>
<ItemGroup>
<Content Include="Config.wxi" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixUIExtension">
<HintPath>..\..\..\tools\WIX\WixUIExtension.dll</HintPath>
<Name>WixUIExtension</Name>
</WixExtension>
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

View file

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.34014
// Runtime Version:4.0.30319.18051
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.

View file

@ -1,5 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2010
# Visual Studio 2013
VisualStudioVersion = 12.0.30723.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{129305D5-A9E6-4DCE-BFF6-41809E13EEEE}"
ProjectSection(SolutionItems) = preProject
..\..\WebsitePanel\build.xml = ..\..\WebsitePanel\build.xml

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<!--
Use supportedRuntime tags to explicitly specify the version(s) of the .NET Framework runtime that
the custom action should run on. If no versions are specified, the chosen version of the runtime
will be the "best" match to what Microsoft.Deployment.WindowsInstaller.dll was built against.
WARNING: leaving the version unspecified is dangerous as it introduces a risk of compatibility
problems with future versions of the .NET Framework runtime. It is highly recommended that you specify
only the version(s) of the .NET Framework runtime that you have tested against.
Note for .NET Framework v3.0 and v3.5, the runtime version is still v2.0.
In order to enable .NET Framework version 2.0 runtime activation policy, which is to load all assemblies
by using the latest supported runtime, @useLegacyV2RuntimeActivationPolicy="true".
For more information, see http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx
-->
<supportedRuntime version="v4.0" />
<supportedRuntime version="v2.0.50727"/>
</startup>
<!--
Add additional configuration settings here. For more information on application config files,
see http://msdn.microsoft.com/en-us/library/kza1yk3a.aspx
-->
</configuration>

View file

@ -0,0 +1,274 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Collections.Generic;
using System.Configuration.Install;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text.RegularExpressions;
using System.Threading;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using System.Xml;
using Microsoft.Deployment.WindowsInstaller;
using WebsitePanel.Setup;
namespace WebsitePanel.WIXInstaller
{
public class CustomActions
{
public const string CustomDataDelimiter = "-=del=-";
[CustomAction]
public static ActionResult CheckConnection(Session session)
{
string testConnectionString = session["AUTHENTICATIONTYPE"].Equals("Windows Authentication") ? GetConnectionString(session["SERVERNAME"], "master") : GetConnectionString(session["SERVERNAME"], "master", session["LOGIN"], session["PASSWORD"]);
if (CheckConnection(testConnectionString))
{
session["CORRECTCONNECTION"] = "1";
session["CONNECTIONSTRING"] = session["AUTHENTICATIONTYPE"].Equals("Windows Authentication") ? GetConnectionString(session["SERVERNAME"], session["DATABASENAME"]) : GetConnectionString(session["SERVERNAME"], session["DATABASENAME"], session["LOGIN"], session["PASSWORD"]);
}
else
{
session["CORRECTCONNECTION"] = "0";
}
return ActionResult.Success;
}
[CustomAction]
public static ActionResult FinalizeInstall(Session session)
{
var connectionString = GetCustomActionProperty(session, "ConnectionString").Replace(CustomDataDelimiter, ";");
var serviceFolder = GetCustomActionProperty(session, "ServiceFolder");
var previousConnectionString = GetCustomActionProperty(session, "PreviousConnectionString").Replace(CustomDataDelimiter, ";");
var previousCryptoKey = GetCustomActionProperty(session, "PreviousCryptoKey");
if (string.IsNullOrEmpty(serviceFolder))
{
return ActionResult.Success;
}
connectionString = string.IsNullOrEmpty(previousConnectionString)
? connectionString
: previousConnectionString;
ChangeConfigString("/configuration/connectionStrings/add[@name='EnterpriseServer']", "connectionString", connectionString, serviceFolder);
ChangeConfigString("/configuration/appSettings/add[@key='WebsitePanel.CryptoKey']", "value", previousCryptoKey, serviceFolder);
InstallService(serviceFolder);
return ActionResult.Success;
}
[CustomAction]
public static ActionResult FinalizeUnInstall(Session session)
{
UnInstallService();
return ActionResult.Success;
}
[CustomAction]
public static ActionResult PreInstallationAction(Session session)
{
session["SKIPCONNECTIONSTRINGSTEP"] = "0";
session["SERVICEFOLDER"] = session["INSTALLFOLDER"];
var servicePath = SecurityUtils.GetServicePath("WebsitePanel Scheduler");
if (!string.IsNullOrEmpty(servicePath))
{
string path = Path.Combine(servicePath, "WebsitePanel.SchedulerService.exe.config");
if (File.Exists(path))
{
using (var reader = new StreamReader(path))
{
string content = reader.ReadToEnd();
var pattern = new Regex(@"(?<=<add key=""WebsitePanel.CryptoKey"" .*?value\s*=\s*"")[^""]+(?="".*?>)");
Match match = pattern.Match(content);
session["PREVIOUSCRYPTOKEY"] = match.Value;
var connectionStringPattern = new Regex(@"(?<=<add name=""EnterpriseServer"" .*?connectionString\s*=\s*"")[^""]+(?="".*?>)");
match = connectionStringPattern.Match(content);
session["PREVIOUSCONNECTIONSTRING"] = match.Value.Replace(";", CustomDataDelimiter);
}
session["SKIPCONNECTIONSTRINGSTEP"] = "1";
if (string.IsNullOrEmpty(session["SERVICEFOLDER"]))
{
session["SERVICEFOLDER"] = servicePath;
}
}
}
return ActionResult.Success;
}
private static void InstallService(string installFolder)
{
try
{
var schedulerService =
ServiceController.GetServices().FirstOrDefault(
s => s.DisplayName.Equals("WebsitePanel Scheduler", StringComparison.CurrentCultureIgnoreCase));
if (schedulerService != null)
{
StopService(schedulerService.ServiceName);
SecurityUtils.DeleteService(schedulerService.ServiceName);
}
ManagedInstallerClass.InstallHelper(new[] { "/i", Path.Combine(installFolder, "WebsitePanel.SchedulerService.exe") });
StartService("WebsitePanel Scheduler");
}
catch (Exception)
{
}
}
private static void UnInstallService()
{
try
{
var schedulerService =
ServiceController.GetServices().FirstOrDefault(
s => s.DisplayName.Equals("WebsitePanel Scheduler", StringComparison.CurrentCultureIgnoreCase));
if (schedulerService != null)
{
StopService(schedulerService.ServiceName);
SecurityUtils.DeleteService(schedulerService.ServiceName);
}
}
catch (Exception)
{
}
}
private static void ChangeConfigString(string nodePath, string attrToChange, string value, string installFolder)
{
string path = Path.Combine(installFolder, "WebsitePanel.SchedulerService.exe.config");
if (!File.Exists(path))
{
return;
}
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(path);
XmlElement node = xmldoc.SelectSingleNode(nodePath) as XmlElement;
if (node != null)
{
node.SetAttribute(attrToChange, value);
xmldoc.Save(path);
}
}
private static void StopService(string serviceName)
{
var sc = new ServiceController(serviceName);
if (sc.Status == ServiceControllerStatus.Running)
{
sc.Stop();
sc.WaitForStatus(ServiceControllerStatus.Stopped);
}
}
private static void StartService(string serviceName)
{
var sc = new ServiceController(serviceName);
if (sc.Status == ServiceControllerStatus.Stopped)
{
sc.Start();
sc.WaitForStatus(ServiceControllerStatus.Running);
}
}
private static string GetConnectionString(string serverName, string databaseName)
{
return string.Format("Server={0};database={1};Trusted_Connection=true;", serverName, databaseName).Replace(";", CustomDataDelimiter);
}
private static string GetConnectionString(string serverName, string databaseName, string login, string password)
{
return string.Format("Server={0};database={1};uid={2};password={3};", serverName, databaseName, login, password).Replace(";", CustomDataDelimiter);
}
private static bool CheckConnection(string connectionString)
{
var connection = new SqlConnection(connectionString);
bool result = true;
try
{
connection.Open();
}
catch (Exception)
{
result = false;
}
finally
{
if (connection != null && connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return result;
}
private static string GetCustomActionProperty(Session session, string key)
{
if (session.CustomActionData.ContainsKey(key))
{
return session.CustomActionData[key].Replace("-=-", ";");
}
return string.Empty;
}
}
}

View file

@ -0,0 +1,63 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("WebsitePanel.WIXInstaller")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("WebsitePanel.WIXInstaller")]
[assembly: AssemblyCopyright("Copyright © 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("CA494A4D-8D40-4A7D-8473-2F5E05605831")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{3343FFD8-7CCE-451B-95AE-3D97244313A2}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>WebsitePanel.WIXInstaller</RootNamespace>
<AssemblyName>WebsitePanel.WIXInstaller</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<WixCATargetsPath Condition=" '$(WixCATargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.CA.targets</WixCATargetsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\Setup.WIXInstaller\bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>..\Setup.WIXInstaller\bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Xml" />
<Reference Include="Microsoft.Deployment.WindowsInstaller" />
</ItemGroup>
<ItemGroup>
<Compile Include="CustomAction.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Content Include="CustomAction.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\WebsitePanel.Setup\WebsitePanel.Setup.csproj">
<Project>{3951C0EC-BD98-450E-B228-CDBE5BD4AD49}</Project>
<Name>WebsitePanel.Setup</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(WixCATargetsPath)" />
</Project>

View file

@ -5457,6 +5457,13 @@ CREATE TABLE RDSServers
)
GO
IF NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'RDSServers' AND COLUMN_NAME = 'ConnectionEnabled')
BEGIN
ALTER TABLE [dbo].[RDSServers]
ADD ConnectionEnabled BIT NOT NULL DEFAULT(1)
END
GO
IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE name = 'RDSCollections')
CREATE TABLE RDSCollections
@ -8561,6 +8568,43 @@ COMMIT TRAN
RETURN
GO
IF OBJECTPROPERTY(object_id('dbo.GetExchangeAccountByAccountNameWithoutItemId'), N'IsProcedure') = 1
DROP PROCEDURE [dbo].[GetExchangeAccountByAccountNameWithoutItemId]
GO
CREATE PROCEDURE [dbo].[GetExchangeAccountByAccountNameWithoutItemId]
(
@UserPrincipalName nvarchar(300)
)
AS
SELECT
E.AccountID,
E.ItemID,
E.AccountType,
E.AccountName,
E.DisplayName,
E.PrimaryEmailAddress,
E.MailEnabledPublicFolder,
E.MailboxManagerActions,
E.SamAccountName,
E.AccountPassword,
E.MailboxPlanId,
P.MailboxPlan,
E.SubscriberNumber,
E.UserPrincipalName,
E.ArchivingMailboxPlanId,
AP.MailboxPlan as 'ArchivingMailboxPlan',
E.EnableArchiving
FROM
ExchangeAccounts AS E
LEFT OUTER JOIN ExchangeMailboxPlans AS P ON E.MailboxPlanId = P.MailboxPlanId
LEFT OUTER JOIN ExchangeMailboxPlans AS AP ON E.ArchivingMailboxPlanId = AP.MailboxPlanId
WHERE
E.UserPrincipalName = @UserPrincipalName
RETURN
GO
-- Hyper-V 2012 R2
IF NOT EXISTS (SELECT * FROM [dbo].[Providers] WHERE [ProviderName] = 'HyperV2012R2')
BEGIN

View file

@ -36,6 +36,7 @@
<Reference Include="Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\Lib\Microsoft.Web.Services3.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />

View file

@ -2,6 +2,7 @@
<configuration>
<appSettings>
<add key="ES.WebService" value="http://localhost:9002"/>
<!-- Username and password for access to WebsitePanel. For example "serveradmin" -->
<add key="ES.Username" value="serveradmin"/>
<add key="ES.Password" value="serveradmin"/>
<add key="LogFile" value="WebsitePanel.FixDefaultPublicFolderMailbox.log"/>

View file

@ -659,7 +659,7 @@ namespace WebsitePanel.Import.CsvBulk
mailbox.JobTitle, mailbox.Company, mailbox.Department, mailbox.Office, null, mailbox.BusinessPhone,
mailbox.Fax, mailbox.HomePhone, mailbox.MobilePhone, mailbox.Pager, mailbox.WebPage, mailbox.Notes,
// these are new and not in csv ...
mailbox.ExternalEmail, mailbox.SubscriberNumber,mailbox.LevelId, mailbox.IsVIP);
mailbox.ExternalEmail, mailbox.SubscriberNumber,mailbox.LevelId, mailbox.IsVIP, false);
ret = true;
}
catch (Exception ex)
@ -803,7 +803,7 @@ namespace WebsitePanel.Import.CsvBulk
null, false, user.Disabled, user.Locked, user.FirstName, user.Initials,
user.LastName, user.Address, user.City, user.State, user.Zip, user.Country,
user.JobTitle, user.Company, user.Department, user.Office, null, user.BusinessPhone,
user.Fax, user.HomePhone, user.MobilePhone, user.Pager, user.WebPage, user.Notes, user.ExternalEmail, user.SubscriberNumber, user.LevelId, user.IsVIP);
user.Fax, user.HomePhone, user.MobilePhone, user.Pager, user.WebPage, user.Notes, user.ExternalEmail, user.SubscriberNumber, user.LevelId, user.IsVIP, false);
ret = true;
}
catch (Exception ex)

View file

@ -1,7 +1,41 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using WebsitePanel.Providers;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.EnterpriseServer.Base.HostedSolution;
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.7905
// Runtime Version:2.0.50727.5466
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -9,7 +43,7 @@
//------------------------------------------------------------------------------
//
// This source code was auto-generated by wsdl, Version=2.0.50727.3038.
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
//
namespace WebsitePanel.EnterpriseServer.HostedSolution {
using System.Xml.Serialization;
@ -19,16 +53,10 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
using System;
using System.Diagnostics;
using System.Data;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.Common;
using WebsitePanel.EnterpriseServer.Base.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.Providers;
using WebsitePanel.Providers.Common;
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="esOrganizationsSoap", Namespace="http://tempuri.org/")]
@ -1504,7 +1532,8 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
string externalEmail,
string subscriberNumber,
int levelId,
bool isVIP) {
bool isVIP,
bool userMustChangePassword) {
object[] results = this.Invoke("SetUserGeneralSettings", new object[] {
itemId,
accountId,
@ -1536,7 +1565,8 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
externalEmail,
subscriberNumber,
levelId,
isVIP});
isVIP,
userMustChangePassword});
return ((int)(results[0]));
}
@ -1573,6 +1603,7 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
string subscriberNumber,
int levelId,
bool isVIP,
bool userMustChangePassword,
System.AsyncCallback callback,
object asyncState) {
return this.BeginInvoke("SetUserGeneralSettings", new object[] {
@ -1606,7 +1637,8 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
externalEmail,
subscriberNumber,
levelId,
isVIP}, callback, asyncState);
isVIP,
userMustChangePassword}, callback, asyncState);
}
/// <remarks/>
@ -1647,8 +1679,9 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
string externalEmail,
string subscriberNumber,
int levelId,
bool isVIP) {
this.SetUserGeneralSettingsAsync(itemId, accountId, displayName, password, hideAddressBook, disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, externalEmail, subscriberNumber, levelId, isVIP, null);
bool isVIP,
bool userMustChangePassword) {
this.SetUserGeneralSettingsAsync(itemId, accountId, displayName, password, hideAddressBook, disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle, company, department, office, managerAccountName, businessPhone, fax, homePhone, mobilePhone, pager, webPage, notes, externalEmail, subscriberNumber, levelId, isVIP, userMustChangePassword, null);
}
/// <remarks/>
@ -1684,6 +1717,7 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
string subscriberNumber,
int levelId,
bool isVIP,
bool userMustChangePassword,
object userState) {
if ((this.SetUserGeneralSettingsOperationCompleted == null)) {
this.SetUserGeneralSettingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetUserGeneralSettingsOperationCompleted);
@ -1719,7 +1753,8 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
externalEmail,
subscriberNumber,
levelId,
isVIP}, this.SetUserGeneralSettingsOperationCompleted, userState);
isVIP,
userMustChangePassword}, this.SetUserGeneralSettingsOperationCompleted, userState);
}
private void OnSetUserGeneralSettingsOperationCompleted(object arg) {
@ -2876,11 +2911,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void CheckOrgIdExistsCompletedEventHandler(object sender, CheckOrgIdExistsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CheckOrgIdExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2902,11 +2937,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void CreateOrganizationCompletedEventHandler(object sender, CreateOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2928,11 +2963,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetRawOrganizationsPagedCompletedEventHandler(object sender, GetRawOrganizationsPagedCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetRawOrganizationsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2954,11 +2989,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationsCompletedEventHandler(object sender, GetOrganizationsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -2980,11 +3015,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationByIdCompletedEventHandler(object sender, GetOrganizationByIdCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationByIdCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3006,11 +3041,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationUserSummuryLetterCompletedEventHandler(object sender, GetOrganizationUserSummuryLetterCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3032,11 +3067,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SendOrganizationUserSummuryLetterCompletedEventHandler(object sender, SendOrganizationUserSummuryLetterCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SendOrganizationUserSummuryLetterCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3058,11 +3093,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void DeleteOrganizationCompletedEventHandler(object sender, DeleteOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3084,11 +3119,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationStatisticsCompletedEventHandler(object sender, GetOrganizationStatisticsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationStatisticsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3110,11 +3145,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationStatisticsByOrganizationCompletedEventHandler(object sender, GetOrganizationStatisticsByOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationStatisticsByOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3136,11 +3171,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationCompletedEventHandler(object sender, GetOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3162,11 +3197,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetAccountIdByUserPrincipalNameCompletedEventHandler(object sender, GetAccountIdByUserPrincipalNameCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetAccountIdByUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3188,15 +3223,15 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SetDefaultOrganizationCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void AddOrganizationDomainCompletedEventHandler(object sender, AddOrganizationDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3218,11 +3253,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void ChangeOrganizationDomainTypeCompletedEventHandler(object sender, ChangeOrganizationDomainTypeCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class ChangeOrganizationDomainTypeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3244,11 +3279,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationDomainsCompletedEventHandler(object sender, GetOrganizationDomainsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationDomainsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3270,11 +3305,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void DeleteOrganizationDomainCompletedEventHandler(object sender, DeleteOrganizationDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteOrganizationDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3296,11 +3331,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SetOrganizationDefaultDomainCompletedEventHandler(object sender, SetOrganizationDefaultDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetOrganizationDefaultDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3322,11 +3357,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationObjectsByDomainCompletedEventHandler(object sender, GetOrganizationObjectsByDomainCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationObjectsByDomainCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3348,11 +3383,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void CheckDomainUsedByHostedOrganizationCompletedEventHandler(object sender, CheckDomainUsedByHostedOrganizationCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CheckDomainUsedByHostedOrganizationCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3374,11 +3409,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void CreateUserCompletedEventHandler(object sender, CreateUserCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3400,11 +3435,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void ImportUserCompletedEventHandler(object sender, ImportUserCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class ImportUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3426,11 +3461,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationDeletedUsersPagedCompletedEventHandler(object sender, GetOrganizationDeletedUsersPagedCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationDeletedUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3452,11 +3487,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationUsersPagedCompletedEventHandler(object sender, GetOrganizationUsersPagedCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationUsersPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3478,11 +3513,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetUserGeneralSettingsCompletedEventHandler(object sender, GetUserGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3504,11 +3539,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SetUserGeneralSettingsCompletedEventHandler(object sender, SetUserGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetUserGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3530,11 +3565,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SetUserPrincipalNameCompletedEventHandler(object sender, SetUserPrincipalNameCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetUserPrincipalNameCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3556,11 +3591,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SetUserPasswordCompletedEventHandler(object sender, SetUserPasswordCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetUserPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3582,11 +3617,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SearchAccountsCompletedEventHandler(object sender, SearchAccountsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SearchAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3608,11 +3643,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SetDeletedUserCompletedEventHandler(object sender, SetDeletedUserCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetDeletedUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3634,11 +3669,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetArchiveFileBinaryChunkCompletedEventHandler(object sender, GetArchiveFileBinaryChunkCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetArchiveFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3660,11 +3695,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void DeleteUserCompletedEventHandler(object sender, DeleteUserCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3686,11 +3721,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetPasswordPolicyCompletedEventHandler(object sender, GetPasswordPolicyCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetPasswordPolicyCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3712,11 +3747,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void CreateSecurityGroupCompletedEventHandler(object sender, CreateSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class CreateSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3738,11 +3773,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetSecurityGroupGeneralSettingsCompletedEventHandler(object sender, GetSecurityGroupGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSecurityGroupGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3764,11 +3799,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void DeleteSecurityGroupCompletedEventHandler(object sender, DeleteSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3790,11 +3825,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SetSecurityGroupGeneralSettingsCompletedEventHandler(object sender, SetSecurityGroupGeneralSettingsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SetSecurityGroupGeneralSettingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3816,11 +3851,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetOrganizationSecurityGroupsPagedCompletedEventHandler(object sender, GetOrganizationSecurityGroupsPagedCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetOrganizationSecurityGroupsPagedCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3842,11 +3877,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void AddObjectToSecurityGroupCompletedEventHandler(object sender, AddObjectToSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddObjectToSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3868,11 +3903,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void DeleteObjectFromSecurityGroupCompletedEventHandler(object sender, DeleteObjectFromSecurityGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteObjectFromSecurityGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3894,11 +3929,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetSecurityGroupsByMemberCompletedEventHandler(object sender, GetSecurityGroupsByMemberCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSecurityGroupsByMemberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3920,11 +3955,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void SearchOrganizationAccountsCompletedEventHandler(object sender, SearchOrganizationAccountsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class SearchOrganizationAccountsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3946,11 +3981,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetAdditionalGroupsCompletedEventHandler(object sender, GetAdditionalGroupsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetAdditionalGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -3972,19 +4007,19 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void UpdateAdditionalGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void DeleteAdditionalGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void AddAdditionalGroupCompletedEventHandler(object sender, AddAdditionalGroupCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddAdditionalGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -4006,11 +4041,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetSupportServiceLevelsCompletedEventHandler(object sender, GetSupportServiceLevelsCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSupportServiceLevelsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -4032,15 +4067,15 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void UpdateSupportServiceLevelCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void DeleteSupportServiceLevelCompletedEventHandler(object sender, DeleteSupportServiceLevelCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class DeleteSupportServiceLevelCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -4062,11 +4097,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void AddSupportServiceLevelCompletedEventHandler(object sender, AddSupportServiceLevelCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class AddSupportServiceLevelCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
@ -4088,11 +4123,11 @@ namespace WebsitePanel.EnterpriseServer.HostedSolution {
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
public delegate void GetSupportServiceLevelCompletedEventHandler(object sender, GetSupportServiceLevelCompletedEventArgs e);
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public partial class GetSupportServiceLevelCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {

View file

@ -2684,13 +2684,13 @@ namespace WebsitePanel.EnterpriseServer
);
}
public static IDataReader GetExchangeAccountByAccountNameWithoutItemId(string primaryEmailAddress)
public static IDataReader GetExchangeAccountByAccountNameWithoutItemId(string userPrincipalName)
{
return SqlHelper.ExecuteReader(
ConnectionString,
CommandType.StoredProcedure,
"GetExchangeAccountByAccountNameWithoutItemId",
new SqlParameter("@PrimaryEmailAddress", primaryEmailAddress)
new SqlParameter("@UserPrincipalName", userPrincipalName)
);
}

View file

@ -1217,10 +1217,10 @@ namespace WebsitePanel.EnterpriseServer
return account;
}
public static ExchangeAccount GetAccountByAccountName(string primaryEmailAddress)
public static ExchangeAccount GetAccountByAccountName(string userPrincipalName)
{
ExchangeAccount account = ObjectUtils.FillObjectFromDataReader<ExchangeAccount>(
DataProvider.GetExchangeAccountByAccountNameWithoutItemId(primaryEmailAddress));
DataProvider.GetExchangeAccountByAccountNameWithoutItemId(userPrincipalName));
if (account == null)
return null;
@ -5537,7 +5537,7 @@ namespace WebsitePanel.EnterpriseServer
res += id + " has a value \"" + defaultPublicFoldes[0] + "\"" + Environment.NewLine;
if (defaultPublicFoldes.Length == 2)
res += id + " changed from \"" + defaultPublicFoldes[0] + "\" to \"" + defaultPublicFoldes[1] + "\"" + Environment.NewLine;
res += id + " changed \"" + defaultPublicFoldes[0] + "\" to \"" + defaultPublicFoldes[1] + "\"" + Environment.NewLine;
}

View file

@ -2284,7 +2284,8 @@ namespace WebsitePanel.EnterpriseServer
string lastName, string address, string city, string state, string zip, string country,
string jobTitle, string company, string department, string office, string managerAccountName,
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
string webPage, string notes, string externalEmail, string subscriberNumber, int levelId, bool isVIP)
string webPage, string notes, string externalEmail, string subscriberNumber, int levelId, bool isVIP,
bool userMustChangePassword)
{
// check account
@ -2346,7 +2347,8 @@ namespace WebsitePanel.EnterpriseServer
pager,
webPage,
notes,
externalEmailAddress);
externalEmailAddress,
userMustChangePassword);
// update account
account.DisplayName = displayName;

View file

@ -1055,7 +1055,7 @@ namespace WebsitePanel.EnterpriseServer
var usersInDb = GetRdsCollectionUsers(collectionId);
var usersAccountNames = users.Select(x => x.AccountName).ToList();
var accountNames = users.Select(x => x.AccountName).ToList();
//Set on server
rds.SetUsersInCollection(org.OrganizationId, collection.Name, users.Select(x => x.AccountName).ToArray());
@ -1063,7 +1063,7 @@ namespace WebsitePanel.EnterpriseServer
//Remove from db
foreach (var userInDb in usersInDb)
{
if (!usersAccountNames.Contains(userInDb.AccountName))
if (!accountNames.Contains(userInDb.AccountName))
{
DataProvider.RemoveRDSUserFromRDSCollection(collectionId, userInDb.AccountId);
}
@ -1109,9 +1109,9 @@ namespace WebsitePanel.EnterpriseServer
}
var rds = GetRemoteDesktopServices(GetRemoteDesktopServiceID(org.PackageId));
var collection = GetRdsCollection(collectionId);
result.AddRange(rds.GetApplicationUsers(collection.Name, remoteApp.Alias));
var collection = ObjectUtils.FillObjectFromDataReader<RdsCollection>(DataProvider.GetRDSCollectionById(collectionId));
var users = rds.GetApplicationUsers(collection.Name, remoteApp.Alias);
result.AddRange(users);
return result;
}

View file

@ -381,7 +381,10 @@ namespace WebsitePanel.EnterpriseServer
site.PerlInstalled = Utils.ParseBool(webPolicy["PerlInstalled"], false);
site.PythonInstalled = Utils.ParseBool(webPolicy["PythonInstalled"], false);
site.CgiBinInstalled = Utils.ParseBool(webPolicy["CgiBinInstalled"], false);
site.ColdFusionInstalled = false;
QuotaValueInfo quotaInfoCF = PackageController.GetPackageQuota(packageId, Quotas.WEB_COLDFUSION);
site.ColdFusionInstalled = (quotaInfoCF.QuotaAllocatedValue > 0) && Utils.ParseBool(webPolicy["ColdFusionInstalled"], false);
QuotaValueInfo quotaInfoCFV = PackageController.GetPackageQuota(packageId, Quotas.WEB_CFVIRTUALDIRS);
site.CreateCFVirtualDirectoriesPol = (quotaInfoCFV.QuotaAllocatedValue > 0) && Utils.ParseBool(webPolicy["CreateCFVirtualDirectoriesPol"], false);
}
else
@ -404,6 +407,7 @@ namespace WebsitePanel.EnterpriseServer
site.PythonInstalled = false;
site.CgiBinInstalled = false;
site.ColdFusionInstalled = false;
site.CreateCFVirtualDirectoriesPol = false;
}
site.HttpRedirect = "";

View file

@ -380,7 +380,10 @@ namespace WebsitePanel.EnterpriseServer
site.PerlInstalled = Utils.ParseBool(webPolicy["PerlInstalled"], false);
site.PythonInstalled = Utils.ParseBool(webPolicy["PythonInstalled"], false);
site.CgiBinInstalled = Utils.ParseBool(webPolicy["CgiBinInstalled"], false);
site.ColdFusionInstalled = false;
QuotaValueInfo quotaInfoCF = PackageController.GetPackageQuota(packageId, Quotas.WEB_COLDFUSION);
site.ColdFusionInstalled = (quotaInfoCF.QuotaAllocatedValue > 0) && Utils.ParseBool(webPolicy["ColdFusionInstalled"], false);
QuotaValueInfo quotaInfoCFV = PackageController.GetPackageQuota(packageId, Quotas.WEB_CFVIRTUALDIRS);
site.CreateCFVirtualDirectoriesPol = (quotaInfoCFV.QuotaAllocatedValue > 0) && Utils.ParseBool(webPolicy["CreateCFVirtualDirectoriesPol"], false);
}
else
@ -403,6 +406,7 @@ namespace WebsitePanel.EnterpriseServer
site.PythonInstalled = false;
site.CgiBinInstalled = false;
site.ColdFusionInstalled = false;
site.CreateCFVirtualDirectoriesPol = false;
}
site.HttpRedirect = "";

View file

@ -219,14 +219,15 @@ namespace WebsitePanel.EnterpriseServer
string lastName, string address, string city, string state, string zip, string country,
string jobTitle, string company, string department, string office, string managerAccountName,
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
string webPage, string notes, string externalEmail, string subscriberNumber, int levelId, bool isVIP)
string webPage, string notes, string externalEmail, string subscriberNumber, int levelId, bool isVIP,
bool userMustChangePassword)
{
return OrganizationController.SetUserGeneralSettings(itemId, accountId, displayName,
password, hideAddressBook, disabled, locked, firstName, initials,
lastName, address, city, state, zip, country,
jobTitle, company, department, office, managerAccountName,
businessPhone, fax, homePhone, mobilePhone, pager,
webPage, notes, externalEmail, subscriberNumber, levelId, isVIP);
webPage, notes, externalEmail, subscriberNumber, levelId, isVIP, userMustChangePassword);
}

View file

@ -62,6 +62,7 @@ namespace WebsitePanel.Providers.HostedSolution
public const string CustomAttribute2 = "extensionAttribute2";
public const string DistinguishedName = "distinguishedName";
public const string SID = "objectSid";
public const string PwdLastSet = "pwdLastSet";
public const string UserAccountControl = "UserAccountControl";
}
}

View file

@ -64,7 +64,8 @@ namespace WebsitePanel.Providers.HostedSolution
string jobTitle,
string company, string department, string office, string managerAccountName,
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
string webPage, string notes, string externalEmail);
string webPage, string notes, string externalEmail,
bool userMustChangePassword);
void SetUserPassword(string organizationId, string accountName, string password);

View file

@ -327,5 +327,12 @@ namespace WebsitePanel.Providers.HostedSolution
set { isVip = value; }
}
private bool userMustChangePassword;
public bool UserMustChangePassword
{
get { return userMustChangePassword; }
set { userMustChangePassword = value; }
}
}
}

View file

@ -55,6 +55,7 @@ namespace WebsitePanel.Providers.Web
private bool frontPageInstalled;
private bool coldFusionAvailable;
private bool createCFVirtualDirectories;
private bool createCFVirtualDirectoriesPol;
private string frontPageAccount;
private string frontPagePassword;
private string coldFusionVersion;
@ -158,6 +159,12 @@ namespace WebsitePanel.Providers.Web
set { this.createCFVirtualDirectories = value; }
}
public bool CreateCFVirtualDirectoriesPol
{
get { return this.createCFVirtualDirectoriesPol; }
set { this.createCFVirtualDirectoriesPol = value; }
}
public ServerState SiteState
{
get { return this.siteState; }

View file

@ -5334,16 +5334,13 @@ namespace WebsitePanel.Providers.HostedSolution
string newValue = orgCanonicalName + "/" + GetPublicFolderMailboxName(organizationId);
if (newValue != oldValue)
{
cmd = new Command("Set-Mailbox");
cmd.Parameters.Add("Identity", id);
cmd.Parameters.Add("DefaultPublicFolderMailbox", newValue);
cmd = new Command("Set-Mailbox");
cmd.Parameters.Add("Identity", id);
cmd.Parameters.Add("DefaultPublicFolderMailbox", newValue);
ExecuteShellCommand(runSpace, cmd);
ExecuteShellCommand(runSpace, cmd);
res.Add(newValue);
}
res.Add(newValue);
}
finally

View file

@ -603,6 +603,53 @@ namespace WebsitePanel.Providers.HostedSolution
return retUser;
}
private static Int64 ConvertADSLargeIntegerToInt64(object adsLargeInteger)
{
var highPart = (Int32)adsLargeInteger.GetType().InvokeMember("HighPart", System.Reflection.BindingFlags.GetProperty, null, adsLargeInteger, null);
var lowPart = (Int32)adsLargeInteger.GetType().InvokeMember("LowPart", System.Reflection.BindingFlags.GetProperty, null, adsLargeInteger, null);
return highPart * ((Int64)UInt32.MaxValue + 1) + lowPart;
}
private bool GetUserMustChangePassword(DirectoryEntry user)
{
Int64 pls;
int uac;
if (user.Properties[ADAttributes.PwdLastSet] != null && user.Properties[ADAttributes.PwdLastSet].Value != null)
pls = ConvertADSLargeIntegerToInt64(user.Properties[ADAttributes.PwdLastSet].Value);
else
return false;
if (user.Properties[ADAttributes.UserAccountControl] != null && user.Properties[ADAttributes.UserAccountControl].Value != null)
uac = (int)user.Properties[ADAttributes.UserAccountControl].Value;
else
return false;
return (pls == 0) && ((uac & 0x00010000) == 0);
}
private void SetUserMustChangePassword(DirectoryEntry user, bool userMustChangePassword)
{
Int64 pls;
int uac;
if (user.Properties[ADAttributes.PwdLastSet] != null && user.Properties[ADAttributes.PwdLastSet].Value != null)
pls = ConvertADSLargeIntegerToInt64(user.Properties[ADAttributes.PwdLastSet].Value);
else
return;
if (user.Properties[ADAttributes.UserAccountControl] != null && user.Properties[ADAttributes.UserAccountControl].Value != null)
uac = (int)user.Properties[ADAttributes.UserAccountControl].Value;
else
return;
if ((uac & 0x00010000) != 0) return;
if ((pls == 0) == userMustChangePassword) return;
user.Properties[ADAttributes.PwdLastSet].Value = userMustChangePassword ? 0 : -1;
}
private OrganizationUser GetUser(string path)
{
OrganizationUser retUser = new OrganizationUser();
@ -637,6 +684,7 @@ namespace WebsitePanel.Providers.HostedSolution
retUser.DistinguishedName = ActiveDirectoryUtils.GetADObjectStringProperty(entry, ADAttributes.DistinguishedName);
retUser.Locked = (bool)entry.InvokeGet(ADAttributes.AccountLocked);
retUser.UserPrincipalName = (string)entry.InvokeGet(ADAttributes.UserPrincipalName);
retUser.UserMustChangePassword = GetUserMustChangePassword(entry);
return retUser;
}
@ -673,12 +721,12 @@ namespace WebsitePanel.Providers.HostedSolution
string address, string city, string state, string zip, string country, string jobTitle,
string company, string department, string office, string managerAccountName,
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
string webPage, string notes, string externalEmail)
string webPage, string notes, string externalEmail, bool userMustChangePassword)
{
SetUserGeneralSettingsInternal(organizationId, accountName, displayName, password, hideFromAddressBook,
disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle,
company, department, office, managerAccountName, businessPhone, fax, homePhone,
mobilePhone, pager, webPage, notes, externalEmail);
mobilePhone, pager, webPage, notes, externalEmail, userMustChangePassword);
}
internal void SetUserGeneralSettingsInternal(string organizationId, string accountName, string displayName, string password,
@ -686,7 +734,7 @@ namespace WebsitePanel.Providers.HostedSolution
string address, string city, string state, string zip, string country, string jobTitle,
string company, string department, string office, string managerAccountName,
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
string webPage, string notes, string externalEmail)
string webPage, string notes, string externalEmail, bool userMustChangePassword)
{
string path = GetUserPath(organizationId, accountName);
DirectoryEntry entry = ActiveDirectoryUtils.GetADObject(path);
@ -738,6 +786,7 @@ namespace WebsitePanel.Providers.HostedSolution
}
SetUserMustChangePassword(entry, userMustChangePassword);
entry.CommitChanges();
}

View file

@ -527,6 +527,7 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
catch (Exception e)
{
result = false;
Log.WriteWarning(e.ToString());
}
return result;
@ -672,6 +673,7 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
try
{
Log.WriteWarning(string.Format("App alias: {0}\r\nCollection Name:{2}\r\nUsers: {1}", remoteApp.Alias, string.Join("; ", users), collectionName));
runspace = OpenRunspace();
Command cmd = new Command("Set-RDRemoteApp");
@ -680,8 +682,18 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
cmd.Parameters.Add("DisplayName", remoteApp.DisplayName);
cmd.Parameters.Add("UserGroups", users);
cmd.Parameters.Add("Alias", remoteApp.Alias);
object[] errors;
ExecuteShellCommand(runspace, cmd, false).FirstOrDefault();
ExecuteShellCommand(runspace, cmd, false, out errors).FirstOrDefault();
if (errors.Any())
{
Log.WriteWarning(string.Format("{0} adding users errors: {1}", remoteApp.DisplayName, string.Join("\r\n", errors.Select(e => e.ToString()).ToArray())));
}
else
{
Log.WriteWarning(string.Format("{0} users added successfully", remoteApp.DisplayName));
}
}
catch(Exception)
{
@ -976,9 +988,12 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
{
var usersGroupName = GetUsersGroupName(collectionName);
var usersGroupPath = GetUsersGroupPath(organizationId, collectionName);
var orgPath = GetOrganizationPath(organizationId);
var orgEntry = ActiveDirectoryUtils.GetADObject(orgPath);
var groupUsers = ActiveDirectoryUtils.GetGroupObjects(usersGroupName, "user", orgEntry);
//remove all users from group
foreach (string userPath in ActiveDirectoryUtils.GetGroupObjects(usersGroupName, "user"))
foreach (string userPath in groupUsers)
{
ActiveDirectoryUtils.RemoveObjectFromGroup(userPath, usersGroupPath);
}
@ -992,11 +1007,8 @@ namespace WebsitePanel.Providers.RemoteDesktopServices
{
var userObject = ActiveDirectoryUtils.GetADObject(userPath);
var samName = (string)ActiveDirectoryUtils.GetADObjectProperty(userObject, "sAMAccountName");
if (!ActiveDirectoryUtils.IsUserInGroup(samName, usersGroupName))
{
ActiveDirectoryUtils.AddObjectToGroup(userPath, GetUsersGroupPath(organizationId, collectionName));
}
var userGroupsPath = GetUsersGroupPath(organizationId, collectionName);
ActiveDirectoryUtils.AddObjectToGroup(userPath, userGroupsPath);
}
}
}

View file

@ -1349,6 +1349,11 @@ namespace WebsitePanel.Providers.Web
//
UpdateCgiBinFolder(site);
//
if (site.CreateCFVirtualDirectoriesPol)
{
//Create CFVirtDirs if enabled in hosting plan, this allows for CF to be enbled via Web Policy
CreateCFVirtualDirectories(site.SiteId);
}
try
{
webObjectsSvc.ChangeSiteState(site.SiteId, ServerState.Started);
@ -1448,6 +1453,7 @@ namespace WebsitePanel.Providers.Web
{
DeleteCFVirtualDirectories(site.SiteId);
site.CreateCFVirtualDirectories = false;
site.CreateCFVirtualDirectoriesPol = false;
}
else
{
@ -1457,6 +1463,7 @@ namespace WebsitePanel.Providers.Web
{
DeleteCFVirtualDirectories(site.SiteId);
site.CreateCFVirtualDirectories = false;
site.CreateCFVirtualDirectoriesPol = false;
}
}
else
@ -1465,6 +1472,7 @@ namespace WebsitePanel.Providers.Web
{
CreateCFVirtualDirectories(site.SiteId);
site.CreateCFVirtualDirectories = true;
site.CreateCFVirtualDirectoriesPol = true;
}
}
}

View file

@ -159,12 +159,13 @@ namespace WebsitePanel.Server
string address, string city, string state, string zip, string country, string jobTitle,
string company, string department, string office, string managerAccountName,
string businessPhone, string fax, string homePhone, string mobilePhone, string pager,
string webPage, string notes, string externalEmail)
string webPage, string notes, string externalEmail,
bool userMustChangePassword)
{
Organization.SetUserGeneralSettings(organizationId, accountName, displayName, password, hideFromAddressBook,
disabled, locked, firstName, initials, lastName, address, city, state, zip, country, jobTitle,
company, department, office, managerAccountName, businessPhone, fax, homePhone,
mobilePhone, pager, webPage, notes, externalEmail);
mobilePhone, pager, webPage, notes, externalEmail, userMustChangePassword);
}

View file

@ -33,6 +33,10 @@ namespace WebsitePanel.WebDav.Core.Entities.Owa
public string DownloadUrl { get; set; }
[DataMember]
public bool ReadOnly { get; set; }
[DataMember]
public bool RestrictedWebViewOnly { get; set; }
[DataMember]
public string ClientUrl { get; set; }
//[DataMember]
//public bool UserCanNotWriteRelative { get; set; }
@ -100,8 +104,7 @@ namespace WebsitePanel.WebDav.Core.Entities.Owa
//public bool ProtectInClient { get; set; }
//[DataMember]
//public bool ReadOnly { get; set; }
//[DataMember]
//public bool RestrictedWebViewOnly { get; set; }
//[DataMember]
//public string SignoutUrl { get; set; }

View file

@ -38,7 +38,7 @@ namespace WebsitePanel.WebDav.Core.Owa
var cFileInfo = new CheckFileInfo
{
BaseFileName = resource.DisplayName,
BaseFileName = resource.DisplayName.Split(new []{'/'},StringSplitOptions.RemoveEmptyEntries).LastOrDefault(),
OwnerId = WspContext.User.Login,
Size = resource.ContentLength,
Version = DateTime.Now.ToString("s"),
@ -50,7 +50,8 @@ namespace WebsitePanel.WebDav.Core.Owa
SupportsSecureStore = false,
SupportsUpdate = true,
UserCanWrite = !readOnly,
ReadOnly = readOnly
ReadOnly = readOnly,
RestrictedWebViewOnly = false
};
return cFileInfo;

View file

@ -60,6 +60,7 @@ namespace WebsitePanel.WebDavPortal.Controllers.Api
var url = new Uri(Request.RequestUri, urlPart).ToString();
fileInfo.DownloadUrl = url;
fileInfo.ClientUrl = _webDavManager.GetFileUrl(token.FilePath);
return fileInfo;
}

View file

@ -33,7 +33,18 @@ namespace WebsitePanel.WebDavPortal.FileOperations
var request = HttpContext.Current.Request;
int supportedVersion;
if (WebDavAppConfigManager.Instance.OwaSupportedBrowsers.TryGetValue(request.Browser.Browser, out supportedVersion) == false)
string key = string.Empty;
foreach (var supportedKey in WebDavAppConfigManager.Instance.OwaSupportedBrowsers.Keys)
{
if (supportedKey.Split(';').Contains(request.Browser.Browser))
{
key = supportedKey;
break;
}
}
if (WebDavAppConfigManager.Instance.OwaSupportedBrowsers.TryGetValue(key, out supportedVersion) == false)
{
return false;
}

View file

@ -76,7 +76,7 @@
<owaSupportedBrowsers>
<add browser="Chrome" version="20" />
<add browser="Firefox" version="6" />
<add browser="InternetExplorer" version="8" />
<add browser="InternetExplorer;IE" version="8" />
<add browser="Safari" version="4" />
</owaSupportedBrowsers>
<officeOnline isEnabled="True" url="https://vir-owa.virtuworks.net" cobaltFileTtl="1">

View file

@ -3136,6 +3136,15 @@
<data name="Success.ORGANIZATION_UPDATE_USER_SETTINGS" xml:space="preserve">
<value>User general settings have been successfully updated.</value>
</data>
<data name="Success.ORGANIZATION_USERS_ACTIONS" xml:space="preserve">
<value>Action has been successfully performed.</value>
</data>
<data name="Error.ORGANIZATION_USERS_ACTIONS" xml:space="preserve">
<value>Failed to perform action.</value>
</data>
<data name="Warning.ORGANIZATION_USERS_ACTIONS" xml:space="preserve">
<value>Please select the users for which you want to perform actions.</value>
</data>
<data name="Success.ORGANIZATION_SET_USER_PASSWORD" xml:space="preserve">
<value>User password has been successfully updated.</value>
</data>

View file

@ -93,6 +93,8 @@ select:disabled {border:1px solid #ccc; background:#f5f5f5; color:#ccc; cursor:n
textarea {font-family:inherit; font-size:inherit; color:inherit; background:#fff; border: 1px solid #ccc; padding:3px 0 3px 3px; margin:0; resize:none;}
/* checkbox */
input[type=checkbox], input[type=radio] {margin:8px 4px 8px; vertical-align:-1px;}
.HeaderCheckbox {margin-left:5px;}
.GridCheckbox input[type=checkbox] {margin-top:0px;}
input[type=image] {margin-right:4px;}
.LoginLabel {display:block; line-height:34px; width:auto !important; padding-right:8px;}
.LoginContainer .SubHead {padding-right:8px; color:#333;}
@ -177,9 +179,12 @@ h2.ProductTitle.Huge {margin:0;}
.FormButtonsBar .Left {float: left;}
.FormButtonsBar .Right {float:right;}
.FormButtonsBar Button2.Right {text-align: right; margin-bottom: 3px;}
.FormButtonsBarClean {clear: both; padding-bottom: 4px;}
.FormButtonsBarClean {clear: both; padding-bottom: 4px; height: 26px;}
.FormButtonsBarCleanLeft {float: left;}
.FormButtonsBarCleanRight {text-align: right;}
.FormButtonsBarCleanMiddle {float: right;}
.FormButtonsBarCleanSeparator {padding-right: 30px;}
.FormButtonsBarCleanSeparatorSmall {padding-right: 15px;}
.GridFooter .Left {float: left;}
.GridFooter .Right {text-align: right;}
.FormRow {padding-top: 4px; padding-bottom: 4px;}
@ -190,6 +195,7 @@ SPAN.Checkbox.Bold {font-weight: bold;}
.Checkbox INPUT {vertical-align: middle;}
.FormFooter {padding:10px 0;}
.FormFooterClean {font-size: 9pt; margin-top: 10px; padding: 10px 10px 0px 0px; border-top: solid 1px #DFDFDF;}
.FormFooterMiddle {padding:10px;}
.FormRBtnL {padding-top: 10px;}
UL.VerticalButtons {margin: 0px; list-style: none; padding-left: 20px; float: right; width: 150px;}
UL.VerticalButtons LI {padding-top: 2px; padding-bottom: 2px;}

View file

@ -328,21 +328,21 @@ namespace WebsitePanel.Portal
return idn.GetAscii(domainName);
}
/// <summary>
/// Adds the specified parameter to the Query String.
/// </summary>
/// <param name="url"></param>
/// <param name="paramName">Name of the parameter to add.</param>
/// <param name="paramValue">Value for the parameter to add.</param>
/// <returns>Url with added parameter.</returns>
public static Uri AddParameter(this Uri url, string paramName, string paramValue)
public static List<T> GetCheckboxValuesFromGrid<T>(GridView gridView, string checkboxName)
{
var uriBuilder = new UriBuilder(url);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
query[paramName] = paramValue;
uriBuilder.Query = query.ToString();
// Get checked users
var userIds = new List<T>();
return new Uri(uriBuilder.ToString());
foreach (GridViewRow gvr in gridView.Rows)
{
if (((CheckBox)gvr.FindControl(checkboxName)).Checked)
{
string userId = gridView.DataKeys[gvr.DataItemIndex].Value.ToString();
userIds.Add((T)Convert.ChangeType(userId, typeof(T)));
}
}
return userIds;
}
}
}

View file

@ -66,6 +66,24 @@ namespace WebsitePanel.Portal.Code.Helpers
|| PackagesHelper.CheckGroupQuotaEnabled(packageId, t.ResourceGroup, t.Quota)
select t;
}
/// <summary>
/// Adds the specified parameter to the Query String.
/// </summary>
/// <param name="url"></param>
/// <param name="paramName">Name of the parameter to add.</param>
/// <param name="paramValue">Value for the parameter to add.</param>
/// <returns>Url with added parameter.</returns>
public static Uri AddParameter(this Uri url, string paramName, string paramValue)
{
var uriBuilder = new UriBuilder(url);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
query[paramName] = paramValue;
uriBuilder.Query = query.ToString();
return new Uri(uriBuilder.ToString());
}
}
public class Tab

View file

@ -189,4 +189,7 @@
<data name="SharedMailbox.Text" xml:space="preserve">
<value>Shared Mailbox</value>
</data>
<data name="chkUserMustChangePassword.Text" xml:space="preserve">
<value>User must change password at next logon</value>
</data>
</root>

View file

@ -118,7 +118,7 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCreateMailbox.Text" xml:space="preserve">
<value>Create New Mailbox</value>
<value>New Mailbox</value>
</data>
<data name="cmdDelete.OnClientClick" xml:space="preserve">
<value>if(!confirm('Are you sure you want to delete this mailbox?')) return false; else ShowProgressDialog('Deleting mailbox...');</value>

View file

@ -159,4 +159,7 @@
<data name="valRequireSubscriberNumber.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="chkUserMustChangePassword.Text" xml:space="preserve">
<value>User must change password at next logon</value>
</data>
</root>

View file

@ -252,4 +252,7 @@
<data name="secServiceLevels.Text" xml:space="preserve">
<value>Service Level Information</value>
</data>
<data name="chkUserMustChangePassword.Text" xml:space="preserve">
<value>User must change password at next logon</value>
</data>
</root>

View file

@ -110,6 +110,7 @@
<td>
<wsp:PasswordControl id="password" runat="server" ValidationGroup="CreateMailbox" AllowGeneratePassword="true">
</wsp:PasswordControl>
<asp:CheckBox ID="chkUserMustChangePassword" runat="server" meta:resourcekey="chkUserMustChangePassword" Text="User must change password at next login" />
</td>
</tr>
<tr>

View file

@ -236,7 +236,8 @@ namespace WebsitePanel.Portal.ExchangeServer
user.ExternalEmail,
txtSubscriberNumber.Text,
0,
false);
false,
chkUserMustChangePassword.Checked);
}

View file

@ -1,31 +1,3 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -274,6 +246,15 @@ namespace WebsitePanel.Portal.ExchangeServer {
/// </remarks>
protected global::WebsitePanel.Portal.PasswordControl password;
/// <summary>
/// chkUserMustChangePassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkUserMustChangePassword;
/// <summary>
/// locMailboxType control.
/// </summary>

View file

@ -2,6 +2,15 @@
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/UserActions.ascx" TagName="UserActions" TagPrefix="wsp" %>
<script src="JavaScript/jquery-1.4.4.min.js" type="text/javascript"></script>
<script language="javascript">
function SelectAllCheckboxes(box) {
$(".NormalGridView tbody :checkbox").attr("checked", $(box).attr("checked"));
}
</script>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
@ -21,40 +30,59 @@
<div class="FormButtonsBarClean">
<div class="FormButtonsBarCleanLeft">
<asp:Button ID="btnCreateMailbox" runat="server" meta:resourcekey="btnCreateMailbox"
Text="Create New Mailbox" CssClass="Button1" OnClick="btnCreateMailbox_Click" />
Text="New Mailbox" CssClass="Button1" OnClick="btnCreateMailbox_Click" />
</div>
<div class="FormButtonsBarCleanRight">
<asp:Panel ID="SearchPanel" runat="server" DefaultButton="cmdSearch">
<asp:CheckBox ID="chkMailboxes" runat="server" meta:resourcekey="chkMailboxes" Text="Mailboxes" AutoPostBack="true" OnCheckedChanged="chkMailboxes_CheckedChanged"/>
<asp:CheckBox ID="chkResourceMailboxes" runat="server" meta:resourcekey="chkResourceMailboxes" Text="Resource Mailboxes" AutoPostBack="true" OnCheckedChanged="chkMailboxes_CheckedChanged"/>
<asp:CheckBox ID="chkSharedMailboxes" runat="server" meta:resourcekey="chkSharedMailboxes" Text="Shared Mailboxes" AutoPostBack="true" OnCheckedChanged="chkMailboxes_CheckedChanged"/>
<asp:DropDownList ID="ddlPageSize" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlPageSize_SelectedIndexChanged">
<asp:ListItem>10</asp:ListItem>
<asp:ListItem Selected="True">20</asp:ListItem>
<asp:ListItem>50</asp:ListItem>
<div class="FormButtonsBarCleanMiddle">
<table>
<tr>
<td>
<wsp:UserActions ID="userActions" runat="server" OnExecutingUserAction="userActions_OnExecutingUserAction" ShowSetMailboxPlan="true" />
</td>
<td class="FormButtonsBarCleanSeparatorSmall"></td>
<td>
<asp:Panel ID="SearchPanel" runat="server" DefaultButton="cmdSearch">
<asp:CheckBox ID="chkMailboxes" runat="server" meta:resourcekey="chkMailboxes" Text="Mailboxes" AutoPostBack="true" OnCheckedChanged="chkMailboxes_CheckedChanged" CssClass="Small" />
<asp:CheckBox ID="chkResourceMailboxes" runat="server" meta:resourcekey="chkResourceMailboxes" Text="Resource Mailboxes" AutoPostBack="true" OnCheckedChanged="chkMailboxes_CheckedChanged" CssClass="Small" />
<asp:CheckBox ID="chkSharedMailboxes" runat="server" meta:resourcekey="chkSharedMailboxes" Text="Shared Mailboxes" AutoPostBack="true" OnCheckedChanged="chkMailboxes_CheckedChanged" CssClass="Small" />
<asp:DropDownList ID="ddlPageSize" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged" Width="50">
<asp:ListItem>10</asp:ListItem>
<asp:ListItem Selected="True">20</asp:ListItem>
<asp:ListItem>50</asp:ListItem>
<asp:ListItem>100</asp:ListItem>
<asp:ListItem>100</asp:ListItem>
</asp:DropDownList>
</asp:DropDownList>
<asp:DropDownList ID="ddlSearchColumn" runat="server" CssClass="NormalTextBox">
<asp:ListItem Value="DisplayName" meta:resourcekey="ddlSearchColumnDisplayName">DisplayName</asp:ListItem>
<asp:ListItem Value="PrimaryEmailAddress" meta:resourcekey="ddlSearchColumnEmail">Email</asp:ListItem>
<asp:ListItem Value="AccountName" meta:resourcekey="ddlSearchColumnAccountName">AccountName</asp:ListItem>
<asp:ListItem Value="SubscriberNumber" meta:resourcekey="ddlSearchColumnSubscriberNumber">Account Number</asp:ListItem>
<asp:ListItem Value="UserPrincipalName" meta:resourcekey="ddlSearchColumnUserPrincipalName">Login</asp:ListItem>
</asp:DropDownList><asp:TextBox ID="txtSearchValue" runat="server" CssClass="NormalTextBox" Width="100"></asp:TextBox><asp:ImageButton ID="cmdSearch" Runat="server" meta:resourcekey="cmdSearch" SkinID="SearchButton"
CausesValidation="false"/>
</asp:Panel>
<asp:DropDownList ID="ddlSearchColumn" runat="server" CssClass="NormalTextBox">
<asp:ListItem Value="DisplayName" meta:resourcekey="ddlSearchColumnDisplayName">DisplayName</asp:ListItem>
<asp:ListItem Value="PrimaryEmailAddress" meta:resourcekey="ddlSearchColumnEmail">Email</asp:ListItem>
<asp:ListItem Value="AccountName" meta:resourcekey="ddlSearchColumnAccountName">AccountName</asp:ListItem>
<asp:ListItem Value="SubscriberNumber" meta:resourcekey="ddlSearchColumnSubscriberNumber">Account Number</asp:ListItem>
<asp:ListItem Value="UserPrincipalName" meta:resourcekey="ddlSearchColumnUserPrincipalName">Login</asp:ListItem>
</asp:DropDownList>
<asp:TextBox ID="txtSearchValue" runat="server" CssClass="NormalTextBox" Width="100"></asp:TextBox>
<asp:ImageButton ID="cmdSearch" runat="server" meta:resourcekey="cmdSearch" SkinID="SearchButton" CausesValidation="false" />
</asp:Panel>
</td>
</tr>
</table>
</div>
</div>
<asp:GridView ID="gvMailboxes" runat="server" AutoGenerateColumns="False" EnableViewState="true"
Width="100%" EmptyDataText="gvMailboxes" CssSelectorClass="NormalGridView"
Width="100%" EmptyDataText="gvMailboxes" CssSelectorClass="NormalGridView" DataKeyNames="AccountId"
OnRowCommand="gvMailboxes_RowCommand" AllowPaging="True" AllowSorting="True"
DataSourceID="odsAccountsPaged" PageSize="20">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="selectAll" Runat="server" onclick="javascript:SelectAllCheckboxes(this);" CssClass="HeaderCheckbox"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkSelectedUsersIds" CssClass="GridCheckbox"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="img2" runat="server" Width="16px" Height="16px" ImageUrl='<%# GetStateImage((bool)Eval("Locked"),(bool)Eval("Disabled")) %>' ImageAlign="AbsMiddle" />
@ -80,7 +108,7 @@
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="gvServiceLevel">
<ItemStyle Width="20%"></ItemStyle>
<ItemStyle Width="15%"></ItemStyle>
<ItemTemplate>
<asp:Label id="lbServLevel" runat="server" ToolTip = '<%# GetServiceLevel((int)Eval("LevelId")).LevelDescription%>'>
<%# GetServiceLevel((int)Eval("LevelId")).LevelName%>

View file

@ -69,16 +69,15 @@ namespace WebsitePanel.Portal.ExchangeServer
BindServiceLevels();
if (cntx.Quotas.ContainsKey(Quotas.EXCHANGE2007_ISCONSUMER))
{
if (cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue != 1)
{
gvMailboxes.Columns[4].Visible = false;
gvMailboxes.Columns[6].Visible = false;
}
}
gvMailboxes.Columns[3].Visible = cntx.Groups.ContainsKey(ResourceGroups.ServiceLevels);
gvMailboxes.Columns[4].Visible = cntx.Groups.ContainsKey(ResourceGroups.ServiceLevels);
}
private void BindServiceLevels()
@ -273,5 +272,42 @@ namespace WebsitePanel.Portal.ExchangeServer
odsAccountsPaged.SelectParameters["accountTypes"].DefaultValue = string.Join(",", accountTypes);
}
protected void userActions_OnExecutingUserAction(object sender, EventArgs e)
{
// Get checked users
var userIds = Utils.GetCheckboxValuesFromGrid<int>(gvMailboxes, "chkSelectedUsersIds");
if (userActions.SelectedAction != UserActionTypes.None)
{
if (userIds.Count > 0)
{
try
{
var result = userActions.DoUserActions(userIds);
if (result < 0)
{
messageBox.ShowResultMessage(result);
return;
}
messageBox.ShowSuccessMessage("ORGANIZATION_USERS_ACTIONS");
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("ORGANIZATION_USERS_ACTIONS", ex);
}
// Refresh users grid
gvMailboxes.DataBind();
}
else
{
messageBox.ShowWarningMessage("ORGANIZATION_USERS_ACTIONS");
}
}
userActions.ResetSelection();
}
}
}

View file

@ -1,31 +1,3 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -85,6 +57,15 @@ namespace WebsitePanel.Portal.ExchangeServer {
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnCreateMailbox;
/// <summary>
/// userActions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserActions userActions;
/// <summary>
/// SearchPanel control.
/// </summary>

View file

@ -81,6 +81,7 @@
<td>
<wsp:PasswordControl id="password" runat="server" ValidationGroup="CreateMailbox" AllowGeneratePassword="true" >
</wsp:PasswordControl>
<asp:CheckBox ID="chkUserMustChangePassword" runat="server" meta:resourcekey="chkUserMustChangePassword" Text="User must change password at next login" />
</td>
</tr>

View file

@ -169,7 +169,8 @@ namespace WebsitePanel.Portal.HostedSolution
user.ExternalEmail,
txtSubscriberNumber.Text,
0,
false);
false,
chkUserMustChangePassword.Checked);
}
}
}

View file

@ -1,31 +1,3 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -229,6 +201,15 @@ namespace WebsitePanel.Portal.HostedSolution {
/// </remarks>
protected global::WebsitePanel.Portal.PasswordControl password;
/// <summary>
/// chkUserMustChangePassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkUserMustChangePassword;
/// <summary>
/// chkSendInstructions control.
/// </summary>

View file

@ -77,10 +77,10 @@
</td>
</tr>
<tr>
<td></td>
<td>
<asp:CheckBox ID="chkUserMustChangePassword" runat="server" meta:resourcekey="chkUserMustChangePassword" Text="User must change password at next login" />
<br />
<asp:CheckBox ID="chkDisable" runat="server" meta:resourcekey="chkDisable" Text="Disable User" />
<br />

View file

@ -231,6 +231,8 @@ namespace WebsitePanel.Portal.HostedSolution
password.ValidationEnabled = true;
password.Password = string.Empty;
chkUserMustChangePassword.Checked = user.UserMustChangePassword;
}
catch (Exception ex)
{
@ -323,7 +325,8 @@ namespace WebsitePanel.Portal.HostedSolution
txtExternalEmailAddress.Text,
txtSubscriberNumber.Text,
string.IsNullOrEmpty(ddlServiceLevels.SelectedValue) ? 0 : int.Parse(ddlServiceLevels.SelectedValue),
chkVIP.Checked);
chkVIP.Checked,
chkUserMustChangePassword.Checked);
if (result < 0)
{

View file

@ -1,31 +1,3 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
@ -238,6 +210,15 @@ namespace WebsitePanel.Portal.HostedSolution {
/// </remarks>
protected global::System.Web.UI.WebControls.ValidationSummary ValidationSummary2;
/// <summary>
/// chkUserMustChangePassword control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkUserMustChangePassword;
/// <summary>
/// chkDisable control.
/// </summary>

View file

@ -3,6 +3,15 @@
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/UserActions.ascx" TagName="UserActions" TagPrefix="wsp" %>
<script src="JavaScript/jquery-1.4.4.min.js" type="text/javascript"></script>
<script language="javascript">
function SelectAllCheckboxes(box) {
$(".NormalGridView tbody :checkbox").attr("checked", $(box).attr("checked"));
}
</script>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
@ -25,25 +34,35 @@
<asp:Button ID="btnCreateUser" runat="server" meta:resourcekey="btnCreateUser"
Text="Create New User" CssClass="Button1" OnClick="btnCreateUser_Click" />
</div>
<div class="FormButtonsBarCleanRight">
<asp:Panel ID="SearchPanel" runat="server" DefaultButton="cmdSearch">
<asp:DropDownList ID="ddlPageSize" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlPageSize_SelectedIndexChanged">
<asp:ListItem>10</asp:ListItem>
<asp:ListItem Selected="True">20</asp:ListItem>
<asp:ListItem>50</asp:ListItem>
<asp:ListItem>100</asp:ListItem>
</asp:DropDownList>
<div class="FormButtonsBarCleanMiddle">
<table>
<tr>
<td>
<wsp:UserActions ID="userActions" runat="server" OnExecutingUserAction="userActions_OnExecutingUserAction" />
</td>
<td class="FormButtonsBarCleanSeparator"></td>
<td>
<asp:Panel ID="SearchPanel" runat="server" DefaultButton="cmdSearch">
<asp:DropDownList ID="ddlPageSize" runat="server" AutoPostBack="True"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
<asp:ListItem>10</asp:ListItem>
<asp:ListItem Selected="True">20</asp:ListItem>
<asp:ListItem>50</asp:ListItem>
<asp:ListItem>100</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddlSearchColumn" runat="server" CssClass="NormalTextBox">
<asp:ListItem Value="DisplayName" meta:resourcekey="ddlSearchColumnDisplayName">DisplayName</asp:ListItem>
<asp:ListItem Value="PrimaryEmailAddress" meta:resourcekey="ddlSearchColumnEmail">Email</asp:ListItem>
<asp:ListItem Value="AccountName" meta:resourcekey="ddlSearchColumnAccountName">AccountName</asp:ListItem>
<asp:ListItem Value="SubscriberNumber" meta:resourcekey="ddlSearchColumnSubscriberNumber">Account Number</asp:ListItem>
<asp:ListItem Value="UserPrincipalName" meta:resourcekey="ddlSearchColumnUserPrincipalName">Login</asp:ListItem>
</asp:DropDownList><asp:TextBox ID="txtSearchValue" runat="server" CssClass="NormalTextBox" Width="100"></asp:TextBox><asp:ImageButton ID="cmdSearch" Runat="server" meta:resourcekey="cmdSearch" SkinID="SearchButton"
CausesValidation="false"/>
</asp:Panel>
<asp:DropDownList ID="ddlSearchColumn" runat="server" CssClass="NormalTextBox">
<asp:ListItem Value="DisplayName" meta:resourcekey="ddlSearchColumnDisplayName">DisplayName</asp:ListItem>
<asp:ListItem Value="PrimaryEmailAddress" meta:resourcekey="ddlSearchColumnEmail">Email</asp:ListItem>
<asp:ListItem Value="AccountName" meta:resourcekey="ddlSearchColumnAccountName">AccountName</asp:ListItem>
<asp:ListItem Value="SubscriberNumber" meta:resourcekey="ddlSearchColumnSubscriberNumber">Account Number</asp:ListItem>
<asp:ListItem Value="UserPrincipalName" meta:resourcekey="ddlSearchColumnUserPrincipalName">Login</asp:ListItem>
</asp:DropDownList><asp:TextBox ID="txtSearchValue" runat="server" CssClass="NormalTextBox" Width="100"></asp:TextBox><asp:ImageButton ID="cmdSearch" runat="server" meta:resourcekey="cmdSearch" SkinID="SearchButton"
CausesValidation="false" />
</asp:Panel>
</td>
</tr>
</table>
</div>
</div>
<asp:Panel ID="UsersPanel" runat="server">
@ -54,12 +73,19 @@
OnRowCommand="gvUsers_RowCommand" AllowPaging="True" AllowSorting="True"
DataSourceID="odsAccountsPaged" PageSize="20">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="selectAll" Runat="server" onclick="javascript:SelectAllCheckboxes(this);" CssClass="HeaderCheckbox"></asp:CheckBox>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkSelectedUsersIds" CssClass="GridCheckbox"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="img2" runat="server" Width="16px" Height="16px" ImageUrl='<%# GetStateImage((bool)Eval("Locked"),(bool)Eval("Disabled")) %>' ImageAlign="AbsMiddle" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="gvUsersDisplayName" SortExpression="DisplayName">
<ItemStyle Width="25%"></ItemStyle>
<ItemTemplate>

View file

@ -56,10 +56,10 @@ namespace WebsitePanel.Portal.HostedSolution
{
if (cntx.Quotas[Quotas.EXCHANGE2007_ISCONSUMER].QuotaAllocatedValue != 1)
{
gvUsers.Columns[5].Visible = false;
gvUsers.Columns[6].Visible = false;
}
}
gvUsers.Columns[3].Visible = cntx.Groups.ContainsKey(ResourceGroups.ServiceLevels);
gvUsers.Columns[4].Visible = cntx.Groups.ContainsKey(ResourceGroups.ServiceLevels);
}
private void BindServiceLevels()
@ -388,5 +388,44 @@ namespace WebsitePanel.Portal.HostedSolution
messageBox.ShowErrorMessage("ORGANIZATIONS_DELETE_USERS", ex);
}
}
protected void userActions_OnExecutingUserAction(object sender, EventArgs e)
{
// Get checked users
var userIds = Utils.GetCheckboxValuesFromGrid<int>(gvUsers, "chkSelectedUsersIds");
if (userActions.SelectedAction != UserActionTypes.None)
{
if (userIds.Count > 0)
{
try
{
var result = userActions.DoUserActions(userIds);
if (result < 0)
{
messageBox.ShowResultMessage(result);
return;
}
messageBox.ShowSuccessMessage("ORGANIZATION_USERS_ACTIONS");
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("ORGANIZATION_USERS_ACTIONS", ex);
}
// Refresh users grid
gvUsers.DataBind();
}
else
{
messageBox.ShowWarningMessage("ORGANIZATION_USERS_ACTIONS");
}
}
userActions.ResetSelection();
}
}
}

View file

@ -85,6 +85,15 @@ namespace WebsitePanel.Portal.HostedSolution {
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnCreateUser;
/// <summary>
/// userActions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserActions userActions;
/// <summary>
/// SearchPanel control.
/// </summary>

View file

@ -31,6 +31,7 @@ using System.Web.UI.WebControls;
using System.Collections.Generic;
using WebsitePanel.Providers.Common;
using System.Text;
using WebsitePanel.Portal.Code.Helpers;
namespace WebsitePanel.Portal
{

View file

@ -50,7 +50,8 @@ namespace WebsitePanel.Portal.RDS
litCollectionName.Text = collection.Name;
txtApplicationName.Text = remoteApp.DisplayName;
var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Contains(x.DomainUserName));
//var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Contains(x.AccountName));
var remoteAppUsers = organizationUsers.Where(x => applicationUsers.Select(a => a.Split('\\').Last().ToLower()).Contains(x.SamAccountName.Split('\\').Last().ToLower()));
users.SetUsers(remoteAppUsers.ToArray());
}
@ -64,7 +65,8 @@ namespace WebsitePanel.Portal.RDS
var applications = ES.Services.RDS.GetCollectionRemoteApplications(PanelRequest.ItemID, collection.Name);
var remoteApp = applications.Where(x => x.Alias.Equals(PanelRequest.ApplicationID, StringComparison.CurrentCultureIgnoreCase)).FirstOrDefault();
remoteApp.DisplayName = txtApplicationName.Text;
ES.Services.RDS.SetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp, users.GetUsers().Select(x => x.AccountName).ToArray());
//ES.Services.RDS.SetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp, users.GetUsers().Select(x => x.AccountName).ToArray());
ES.Services.RDS.SetApplicationUsers(PanelRequest.ItemID, PanelRequest.CollectionID, remoteApp, users.GetUsers().Select(x => x.SamAccountName.Split('\\').Last()).ToArray());
}
catch (Exception ex)
{

View file

@ -25,6 +25,7 @@
</ItemStyle>
<ItemTemplate>
<asp:Literal ID="litAccount" runat="server" Text='<%# Eval("DisplayName") %>'></asp:Literal>
<asp:HiddenField ID="hdnSamAccountName" runat="server" Value='<%# Eval("SamAccountName") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
@ -79,6 +80,7 @@
<ItemTemplate>
<asp:Image ID="imgAccount" runat="server" ImageUrl='<%# GetAccountImage((int)Eval("AccountType")) %>' ImageAlign="AbsMiddle" />
<asp:Literal ID="litDisplayName" runat="server" Text='<%# Eval("DisplayName") %>'></asp:Literal>
<asp:HiddenField ID="hdnSamName" runat="server" Value='<%# Eval("SamAccountName") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField meta:resourcekey="gvAccountsEmail">

View file

@ -194,6 +194,7 @@ namespace WebsitePanel.Portal.RDS.UserControls
OrganizationUser user = new OrganizationUser();
user.AccountName = (string)gvUsers.DataKeys[i][0];
user.DisplayName = ((Literal)row.FindControl("litAccount")).Text;
user.SamAccountName = ((HiddenField)row.FindControl("hdnSamAccountName")).Value;
if (state == SelectedState.All ||
(state == SelectedState.Selected && chkSelect.Checked) ||
@ -219,7 +220,8 @@ namespace WebsitePanel.Portal.RDS.UserControls
accounts.Add(new OrganizationUser
{
AccountName = (string)gvPopupAccounts.DataKeys[i][0],
DisplayName = ((Literal)row.FindControl("litDisplayName")).Text
DisplayName = ((Literal)row.FindControl("litDisplayName")).Text,
SamAccountName = ((HiddenField)row.FindControl("hdnSamName")).Value
});
}
}

View file

@ -36,6 +36,7 @@ using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using WebsitePanel.Portal.Code.Helpers;
namespace WebsitePanel.Portal
{

View file

@ -181,6 +181,23 @@
<td class="Normal">
<asp:CheckBox ID="chkCgiBin" runat="server" Text="Installed" /></td>
</tr>
<tr>
<td class="SubHead">
<asp:Label ID="lblCfExt" runat="server" meta:resourcekey="lblCfExt" Text="ColdFusion:"></asp:Label>
</td>
<td class="Normal">
<asp:CheckBox ID="chkCfExt" runat="server" Text="Enabled" /></td>
</tr>
<tr>
<td class="SubHead">
<asp:Label ID="lblVirtDir" runat="server" meta:resourcekey="lblVirtDir" Text="CFVirtualDirectories:"></asp:Label>
</td>
<td class="Normal">
<asp:CheckBox ID="chkVirtDir" runat="server" Text="Enabled" /></td>
</tr>
</table>
</asp:Panel>

View file

@ -76,6 +76,8 @@ namespace WebsitePanel.Portal
chkPerl.Checked = Utils.ParseBool(settings["PerlInstalled"], false);
chkPython.Checked = Utils.ParseBool(settings["PythonInstalled"], false);
chkCgiBin.Checked = Utils.ParseBool(settings["CgiBinInstalled"], false);
chkCfExt.Checked = Utils.ParseBool(settings["ColdFusionInstalled"], false);
chkVirtDir.Checked = Utils.ParseBool(settings["CreateCFVirtualDirectoriesPol"], false);
// anonymous account policy
anonymousUsername.Value = settings["AnonymousAccountPolicy"];
@ -130,6 +132,8 @@ namespace WebsitePanel.Portal
settings["PerlInstalled"] = chkPerl.Checked.ToString();
settings["PythonInstalled"] = chkPython.Checked.ToString();
settings["CgiBinInstalled"] = chkCgiBin.Checked.ToString();
settings["ColdFusionInstalled"] = chkCfExt.Checked.ToString();
settings["CreateCFVirtualDirectoriesPol"] = chkVirtDir.Checked.ToString();
// anonymous account policy
settings["AnonymousAccountPolicy"] = anonymousUsername.Value;

View file

@ -463,6 +463,42 @@ namespace WebsitePanel.Portal {
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkCgiBin;
/// <summary>
/// lblCfExt control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblCfExt;
/// <summary>
/// chkCfExt control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkCfExt;
/// <summary>
/// lblVirtDir control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblVirtDir;
/// <summary>
/// chkVirtDir control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkVirtDir;
/// <summary>
/// secAnonymousAccount control.
/// </summary>

View file

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnApply.Text" xml:space="preserve">
<value>Apply</value>
</data>
<data name="btnMailboxPlanCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="btnMailboxPlanOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="btnServiceLevelCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="btnServiceLevelOk.Text" xml:space="preserve">
<value>Ok</value>
</data>
<data name="ddlUserActionsItem.Actions" xml:space="preserve">
<value>- Actions -</value>
</data>
<data name="ddlUserActionsItem.Disable" xml:space="preserve">
<value>Disable</value>
</data>
<data name="ddlUserActionsItem.Enable" xml:space="preserve">
<value>Enable</value>
</data>
<data name="ddlUserActionsItem.SetMailboxPlan" xml:space="preserve">
<value>Set Mailbox Plan</value>
</data>
<data name="ddlUserActionsItem.SetServiceLevel" xml:space="preserve">
<value>Set Service Level</value>
</data>
<data name="ddlUserActionsItem.SetVIP" xml:space="preserve">
<value>Set VIP</value>
</data>
<data name="ddlUserActionsItem.UnsetVIP" xml:space="preserve">
<value>Unset VIP</value>
</data>
<data name="headerMailboxPlanLabel.Text" xml:space="preserve">
<value>Mailbox Plan</value>
</data>
<data name="headerServiceLevel.Text" xml:space="preserve">
<value>Service Level</value>
</data>
<data name="litMailboxPlan.text" xml:space="preserve">
<value>Please select a Mailbox Plan for the all checked mailboxes</value>
</data>
<data name="litServiceLevel.text" xml:space="preserve">
<value>Please select a Service Level for the all checked users</value>
</data>
<data name="litVIP.Text" xml:space="preserve">
<value>Please select a VIP status for the all checked users</value>
</data>
</root>

View file

@ -0,0 +1,106 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UserActions.ascx.cs" Inherits="WebsitePanel.Portal.UserActions" %>
<%@ Register Src="../ExchangeServer/UserControls/MailboxPlanSelector.ascx" TagName="MailboxPlanSelector" TagPrefix="wsp" %>
<script language="javascript">
function CloseAndShowProgressDialog(text) {
$(".Popup").hide();
return ShowProgressDialog(text);
}
function ShowProrgess(btn) {
var action = $(btn).prev().val();
if (action == 1) {
ShowProgressDialog('Disabling users...');
} else if (action == 2) {
ShowProgressDialog('Enabling users...');
} else if (action == 4) {
ShowProgressDialog('Setting VIP...');
} else if (action == 5) {
ShowProgressDialog('Unsetting VIP...');
}
}
</script>
<asp:UpdatePanel ID="tblActions" runat="server" CssClass="NormalBold" UpdateMode="Conditional" ChildrenAsTriggers="true" >
<ContentTemplate>
<asp:DropDownList ID="ddlUserActions" runat="server" CssClass="NormalTextBox" resourcekey="ddlUserActions"
AutoPostBack="True">
<asp:ListItem Value="0">Actions</asp:ListItem>
<asp:ListItem Value="1">Disable</asp:ListItem>
<asp:ListItem Value="2">Enable</asp:ListItem>
<asp:ListItem Value="3">SetServiceLevel</asp:ListItem>
<asp:ListItem Value="4">SetVIP</asp:ListItem>
<asp:ListItem Value="5">UnsetVIP</asp:ListItem>
<asp:ListItem Value="6">SetMailboxPlan</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnApply" runat="server" meta:resourcekey="btnApply"
Text="Apply" CssClass="Button1" OnClick="btnApply_Click" OnClientClick="return ShowProrgess(this);" />
<ajaxToolkit:ModalPopupExtender ID="Modal" runat="server" EnableViewState="true" TargetControlID="FakeModalPopupTarget"
PopupControlID="FakeModalPopupTarget" BackgroundCssClass="modalBackground" DropShadow="false" />
<%--Set Service Level--%>
<asp:Panel ID="ServiceLevelPanel" runat="server" CssClass="Popup" Style="display: none">
<table class="Popup-Header">
<tr>
<td class="Popup-HeaderLeft"></td>
<td class="Popup-HeaderTitle"><asp:Localize ID="headerServiceLevel" runat="server" meta:resourcekey="headerServiceLevel"></asp:Localize></td>
<td class="Popup-HeaderRight"></td>
</tr>
</table>
<div class="Popup-Content">
<div class="Popup-Body">
<br/>
<asp:Literal ID="litServiceLevel" runat="server" meta:resourcekey="litServiceLevel"></asp:Literal>
<br/>
<asp:DropDownList ID="ddlServiceLevels" runat="server" CssClass="NormalTextBox" />
<br/>
</div>
<div class="FormFooterMiddle">
<asp:Button ID="btnServiceLevelOk" runat="server" CssClass="Button1" meta:resourcekey="btnServiceLevelOk" Text="Ok"
OnClientClick="return CloseAndShowProgressDialog('Setting Service Level...')" OnClick="btnModalOk_Click" />
<asp:Button ID="btnServiceLevelCancel" runat="server" CssClass="Button1" meta:resourcekey="btnServiceLevelCancel" Text="Cancel"
OnClick="btnModalCancel_OnClick" CausesValidation="false" />
</div>
</div>
</asp:Panel>
<%--Set MailboxPlan--%>
<asp:Panel ID="MailboxPlanPanel" runat="server" CssClass="Popup" Style="display: none">
<table class="Popup-Header">
<tr>
<td class="Popup-HeaderLeft"></td>
<td class="Popup-HeaderTitle"><asp:Localize ID="headerMailboxPlanLabel" runat="server" meta:resourcekey="headerMailboxPlanLabel"></asp:Localize></td>
<td class="Popup-HeaderRight"></td>
</tr>
</table>
<div class="Popup-Content">
<div class="Popup-Body">
<br/>
<asp:Literal ID="litMailboxPlan" runat="server" meta:resourcekey="litMailboxPlan"></asp:Literal>
<br/>
<wsp:MailboxPlanSelector ID="mailboxPlanSelector" runat="server" />
<br/>
</div>
<div class="FormFooterMiddle">
<asp:Button ID="btnMailboxPlanOk" runat="server" CssClass="Button1" meta:resourcekey="btnMailboxPlanOk" Text="Ok"
OnClientClick="return CloseAndShowProgressDialog('Setting Mailbox Plan ...')" OnClick="btnModalOk_Click" />
<asp:Button ID="btnMailboxPlanCancel" runat="server" CssClass="Button1" meta:resourcekey="btnMailboxPlanCancel" Text="Cancel"
OnClick="btnModalCancel_OnClick" CausesValidation="false" />
</div>
</div>
</asp:Panel>
<asp:Button ID="FakeModalPopupTarget" runat="server" Style="display: none;" />
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnServiceLevelOk" />
<asp:PostBackTrigger ControlID="btnMailboxPlanOk" />
<asp:PostBackTrigger ControlID="btnApply" />
</Triggers>
</asp:UpdatePanel>

View file

@ -0,0 +1,290 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.Web.Services3.Referral;
using WebsitePanel.EnterpriseServer;
using WebsitePanel.EnterpriseServer.Base.HostedSolution;
using WebsitePanel.Providers.HostedSolution;
namespace WebsitePanel.Portal
{
public enum UserActionTypes
{
None = 0,
Disable = 1,
Enable = 2,
SetServiceLevel = 3,
SetVIP = 4,
UnsetVIP = 5,
SetMailboxPlan = 6
}
public partial class UserActions : WebsitePanelControlBase
{
public event EventHandler ExecutingUserAction;
private bool showSetMailboxPlan = false;
public bool ShowSetMailboxPlan
{
get { return showSetMailboxPlan; }
set { showSetMailboxPlan = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
// Remove Service Level item and VIP item from Action List if current Hosting plan does not allow Service Levels
if (!PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId).Groups.ContainsKey(ResourceGroups.ServiceLevels))
{
ddlUserActions.Items.Remove(ddlUserActions.Items.FindByValue(((int)UserActionTypes.SetServiceLevel).ToString()));
ddlUserActions.Items.Remove(ddlUserActions.Items.FindByValue(((int)UserActionTypes.SetVIP).ToString()));
ddlUserActions.Items.Remove(ddlUserActions.Items.FindByValue(((int)UserActionTypes.UnsetVIP).ToString()));
}
if (!ShowSetMailboxPlan)
ddlUserActions.Items.Remove(ddlUserActions.Items.FindByValue(((int)UserActionTypes.SetMailboxPlan).ToString()));
}
public UserActionTypes SelectedAction
{
get
{
return (UserActionTypes)Convert.ToInt32(ddlUserActions.SelectedValue);
}
}
public int DoUserActions(List<int> userIds)
{
switch (SelectedAction)
{
case UserActionTypes.Disable:
return ChangeUsersSettings(userIds, true, null, null);
case UserActionTypes.Enable:
return ChangeUsersSettings(userIds, false, null, null);
case UserActionTypes.SetServiceLevel:
return ChangeUsersSettings(userIds, null, SelectedServiceId, null);
case UserActionTypes.SetVIP:
return ChangeUsersSettings(userIds, null, null, true);
case UserActionTypes.UnsetVIP:
return ChangeUsersSettings(userIds, null, null, false);
case UserActionTypes.SetMailboxPlan:
return SetMailboxPlan(userIds);
}
return 0;
}
protected void DoExecutingUserAction()
{
if (ExecutingUserAction != null)
ExecutingUserAction(this, new EventArgs());
}
protected void btnModalOk_Click(object sender, EventArgs e)
{
DoExecutingUserAction();
}
protected void btnModalCancel_OnClick(object sender, EventArgs e)
{
ResetSelection();
}
public void ResetSelection()
{
ddlUserActions.ClearSelection();
}
protected int ChangeUsersSettings(List<int> userIds, bool? disable, int? serviceLevelId, bool? isVIP)
{
foreach (var userId in userIds)
{
OrganizationUser user = ES.Services.Organizations.GetUserGeneralSettings(PanelRequest.ItemID, userId);
int result = ES.Services.Organizations.SetUserGeneralSettings(
PanelRequest.ItemID,
userId,
user.DisplayName,
string.Empty,
false,
disable ?? user.Disabled,
user.Locked,
user.FirstName,
user.Initials,
user.LastName,
user.Address,
user.City,
user.State,
user.Zip,
user.Country,
user.JobTitle,
user.Company,
user.Department,
user.Office,
user.Manager != null ? user.Manager.AccountName : String.Empty,
user.BusinessPhone,
user.Fax,
user.HomePhone,
user.MobilePhone,
user.Pager,
user.WebPage,
user.Notes,
user.ExternalEmail,
user.SubscriberNumber,
serviceLevelId ?? user.LevelId,
isVIP ?? user.IsVIP,
user.UserMustChangePassword);
if (result < 0)
return result;
}
return 0;
}
#region ServiceLevel
protected int SetMailboxPlan(List<int> userIds)
{
int planId;
if (!int.TryParse(mailboxPlanSelector.MailboxPlanId, out planId))
return 0;
if (planId < 0) return 0;
foreach (int userId in userIds)
{
ExchangeAccount account = ES.Services.ExchangeServer.GetAccount(PanelRequest.ItemID, userId);
int result = ES.Services.ExchangeServer.SetExchangeMailboxPlan(PanelRequest.ItemID, userId, planId,
account.ArchivingMailboxPlanId, account.EnableArchiving);
if (result < 0)
return result;
}
return 0;
}
protected int? SelectedServiceId
{
get
{
if (ddlServiceLevels.SelectedValue == string.Empty)
return null;
return Convert.ToInt32(ddlServiceLevels.SelectedValue);
}
}
protected void FillServiceLevelsList()
{
PackageContext cntx = PackagesHelper.GetCachedPackageContext(PanelSecurity.PackageId);
if (cntx.Groups.ContainsKey(ResourceGroups.ServiceLevels))
{
List<ServiceLevel> enabledServiceLevels = new List<ServiceLevel>();
foreach (var quota in cntx.Quotas.Where(x => x.Key.Contains(Quotas.SERVICE_LEVELS)))
{
foreach (var serviceLevel in ES.Services.Organizations.GetSupportServiceLevels())
{
if (quota.Key.Replace(Quotas.SERVICE_LEVELS, "") == serviceLevel.LevelName && CheckServiceLevelQuota(quota.Value))
{
enabledServiceLevels.Add(serviceLevel);
}
}
}
ddlServiceLevels.DataSource = enabledServiceLevels;
ddlServiceLevels.DataTextField = "LevelName";
ddlServiceLevels.DataValueField = "LevelId";
ddlServiceLevels.DataBind();
ddlServiceLevels.Items.Insert(0, new ListItem("<Select Service Level>", string.Empty));
ddlServiceLevels.Items.FindByValue(string.Empty).Selected = true;
}
}
private bool CheckServiceLevelQuota(QuotaValueInfo quota)
{
if (quota.QuotaAllocatedValue != -1)
{
return quota.QuotaAllocatedValue > quota.QuotaUsedValue;
}
return true;
}
#endregion
protected void btnApply_Click(object sender, EventArgs e)
{
switch (SelectedAction)
{
case UserActionTypes.Disable:
case UserActionTypes.Enable:
case UserActionTypes.SetVIP:
case UserActionTypes.UnsetVIP:
DoExecutingUserAction();
break;
case UserActionTypes.SetServiceLevel:
FillServiceLevelsList();
Modal.PopupControlID = ServiceLevelPanel.ID;
Modal.Show();
break;
case UserActionTypes.SetMailboxPlan:
Modal.PopupControlID = MailboxPlanPanel.ID;
Modal.Show();
break;
}
}
}
}

View file

@ -0,0 +1,168 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal {
public partial class UserActions {
/// <summary>
/// tblActions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.UpdatePanel tblActions;
/// <summary>
/// ddlUserActions control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlUserActions;
/// <summary>
/// btnApply control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnApply;
/// <summary>
/// Modal control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::AjaxControlToolkit.ModalPopupExtender Modal;
/// <summary>
/// ServiceLevelPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel ServiceLevelPanel;
/// <summary>
/// headerServiceLevel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize headerServiceLevel;
/// <summary>
/// litServiceLevel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal litServiceLevel;
/// <summary>
/// ddlServiceLevels control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList ddlServiceLevels;
/// <summary>
/// btnServiceLevelOk control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnServiceLevelOk;
/// <summary>
/// btnServiceLevelCancel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnServiceLevelCancel;
/// <summary>
/// MailboxPlanPanel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Panel MailboxPlanPanel;
/// <summary>
/// headerMailboxPlanLabel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Localize headerMailboxPlanLabel;
/// <summary>
/// litMailboxPlan control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Literal litMailboxPlan;
/// <summary>
/// mailboxPlanSelector control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.ExchangeServer.UserControls.MailboxPlanSelector mailboxPlanSelector;
/// <summary>
/// btnMailboxPlanOk control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnMailboxPlanOk;
/// <summary>
/// btnMailboxPlanCancel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnMailboxPlanCancel;
/// <summary>
/// FakeModalPopupTarget control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.Button FakeModalPopupTarget;
}
}

View file

@ -891,6 +891,13 @@
<Compile Include="UserControls\ItemButtonPanel.ascx.designer.cs">
<DependentUpon>ItemButtonPanel.ascx</DependentUpon>
</Compile>
<Compile Include="UserControls\UserActions.ascx.cs">
<DependentUpon>UserActions.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="UserControls\UserActions.ascx.designer.cs">
<DependentUpon>UserActions.ascx</DependentUpon>
</Compile>
<Compile Include="UserOrganization.ascx.cs">
<DependentUpon>UserOrganization.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -4473,6 +4480,7 @@
<Content Include="UserControls\PackagePhoneNumbers.ascx" />
<Content Include="Lync\UserControls\AllocatePackagePhoneNumbers.ascx" />
<Content Include="UserControls\ItemButtonPanel.ascx" />
<Content Include="UserControls\UserActions.ascx" />
<Content Include="UserOrganization.ascx" />
<Content Include="VPSForPC\MonitoringPage.aspx" />
<Content Include="VPSForPC\VdcAccountVLanAdd.ascx" />
@ -4541,6 +4549,7 @@
<Content Include="PhoneNumbers.ascx" />
<Content Include="PhoneNumbersAddPhoneNumber.ascx" />
<Content Include="PhoneNumbersEditPhoneNumber.ascx" />
<Content Include="UserControls\App_LocalResources\UserActions.ascx.resx" />
</ItemGroup>
<ItemGroup>
<Content Include="App_LocalResources\BandwidthReport.ascx.resx">

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,34 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!-- If runtime tag is absent -->
<runtime xdt:Transform="InsertIfMissing">
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
</assemblyBinding>
</runtime>
<!-- If runtime tag is present, but assembly binding tag is absent -->
<runtime>
<assemblyBinding xdt:Transform="InsertIfMissing" xmlns="urn:schemas-microsoft-com:asm.v1">
</assemblyBinding>
</runtime>
<!-- If the binding redirect is already present, the existing entry needs to be removed before inserting the new entry-->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Remove"
xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Mvc')" >
</dependentAssembly>
</assemblyBinding>
</runtime>
<!-- Inserting the new binding redirect -->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.2.2.0" newVersion="5.2.2.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View file

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Remove"
xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Mvc')" >
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,666 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Web.Optimization</name>
</assembly>
<members>
<member name="T:System.Web.Optimization.Bundle">
<summary>Represents a list of file references to be bundled together as a single resource.</summary>
</member>
<member name="M:System.Web.Optimization.Bundle.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.Bundle" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.Bundle.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.Bundle" /> class.</summary>
<param name="virtualPath">The virtual path used to reference the <see cref="T:System.Web.Optimization.Bundle" /> from within a view or Web page.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.#ctor(System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.Bundle" /> class.</summary>
<param name="virtualPath">The virtual path used to reference the <see cref="T:System.Web.Optimization.Bundle" /> from within a view or Web page.</param>
<param name="cdnPath">An alternate url for the bundle when it is stored in a content delivery network.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.#ctor(System.String,System.String,System.Web.Optimization.IBundleTransform[])">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.Bundle" /> class.</summary>
<param name="virtualPath">The virtual path used to reference the <see cref="T:System.Web.Optimization.Bundle" /> from within a view or Web page.</param>
<param name="cdnPath">An alternate url for the bundle when it is stored in a content delivery network.</param>
<param name="transforms">A list of <see cref="T:System.Web.Optimization.IBundleTransform" /> objects which process the contents of the bundle in the order which they are added.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.#ctor(System.String,System.Web.Optimization.IBundleTransform[])">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.Bundle" /> class.</summary>
<param name="virtualPath">The virtual path used to reference the <see cref="T:System.Web.Optimization.Bundle" /> from within a view or Web page.</param>
<param name="transforms">A list of <see cref="T:System.Web.Optimization.IBundleTransform" /> objects which process the contents of the bundle in the order which they are added.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.ApplyTransforms(System.Web.Optimization.BundleContext,System.String,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="P:System.Web.Optimization.Bundle.Builder">
<summary>Builds the bundle content from the individual files included in the <see cref="T:System.Web.Optimization.Bundle" /> object.</summary>
<returns>The object used to build the bundle content.</returns>
</member>
<member name="M:System.Web.Optimization.Bundle.CacheLookup(System.Web.Optimization.BundleContext)">
<summary>Overrides this to implement own caching logic.</summary>
<returns>A bundle response.</returns>
<param name="context">The bundle context.</param>
</member>
<member name="P:System.Web.Optimization.Bundle.CdnFallbackExpression">
<summary>Script expression rendered by the <see cref="T:System.Web.Optimization.Scripts" /> helper class to reference the local bundle file if the CDN is unavailable.</summary>
<returns>The script expression rendered by the <see cref="T:System.Web.Optimization.Scripts" /> helper class to reference the local bundle file if the CDN is unavailable.</returns>
</member>
<member name="P:System.Web.Optimization.Bundle.CdnPath">
<summary>Gets or sets an alternate url for the bundle when it is stored in a content delivery network.</summary>
<returns>An alternate url for the bundle when it is stored in a content delivery network.</returns>
</member>
<member name="P:System.Web.Optimization.Bundle.ConcatenationToken">
<summary>The token inserted between bundled files to ensure that the final bundle content is valid.</summary>
<returns>By default, if <see cref="P:System.Web.Optimization.Bundle.ConcatenationToken" /> is not specified, the Web optimization framework inserts a new line.</returns>
</member>
<member name="P:System.Web.Optimization.Bundle.EnableFileExtensionReplacements">
<summary>Specifies whether to use the <see cref="P:System.Web.Optimization.BundleCollection.FileExtensionReplacementList" />.</summary>
<returns>true if the <see cref="P:System.Web.Optimization.BundleCollection.FileExtensionReplacementList" /> is used; otherwise, false.</returns>
</member>
<member name="M:System.Web.Optimization.Bundle.EnumerateFiles(System.Web.Optimization.BundleContext)">
<summary>Generates an enumeration of <see cref="T:System.Web.Hosting.VirtualFile" /> objects that represent the contents of the bundle.</summary>
<returns>An enumeration of <see cref="T:System.Web.Hosting.VirtualFile" /> objects that represent the contents of the bundle.</returns>
<param name="context">The <see cref="T:System.Web.Optimization.BundleContext" /> object that contains state for both the framework configuration and the HTTP request.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.GenerateBundleResponse(System.Web.Optimization.BundleContext)">
<summary>Processes the bundle request to generate the response.</summary>
<returns>A <see cref="T:System.Web.Optimization.BundleResponse" /> object containing the processed bundle contents.</returns>
<param name="context">The <see cref="T:System.Web.Optimization.BundleContext" /> object that contains state for both the framework configuration and the HTTP request.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.GetCacheKey(System.Web.Optimization.BundleContext)"></member>
<member name="M:System.Web.Optimization.Bundle.Include(System.String,System.Web.Optimization.IItemTransform[])"></member>
<member name="M:System.Web.Optimization.Bundle.Include(System.String[])">
<summary>Specifies a set of files to be included in the <see cref="T:System.Web.Optimization.Bundle" />.</summary>
<returns>The <see cref="T:System.Web.Optimization.Bundle" /> object itself for use in subsequent method chaining.</returns>
<param name="virtualPaths">The virtual path of the file or file pattern to be included in the bundle.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.IncludeDirectory(System.String,System.String)">
<summary>Includes all files in a directory that match a search pattern.</summary>
<returns>The <see cref="T:System.Web.Optimization.Bundle" /> object itself for use in subsequent method chaining.</returns>
<param name="directoryVirtualPath">The virtual path to the directory from which to search for files.</param>
<param name="searchPattern">The search pattern to use in selecting files to add to the bundle.</param>
</member>
<member name="M:System.Web.Optimization.Bundle.IncludeDirectory(System.String,System.String,System.Boolean)">
<summary>Includes all files in a directory that match a search pattern.</summary>
<returns>The <see cref="T:System.Web.Optimization.Bundle" /> object itself for use in subsequent method chaining.</returns>
<param name="directoryVirtualPath">The virtual path to the directory from which to search for files.</param>
<param name="searchPattern">The search pattern to use in selecting files to add to the bundle.</param>
<param name="searchSubdirectories">Specifies whether to recursively search subdirectories of <paramref name="directoryVirtualPath" />.</param>
</member>
<member name="P:System.Web.Optimization.Bundle.Orderer">
<summary>Determines the order of files in a bundle.</summary>
<returns>The order of files in a bundle.</returns>
</member>
<member name="P:System.Web.Optimization.Bundle.Path">
<summary>Virtual path used to reference the <see cref="T:System.Web.Optimization.Bundle" /> from within a view or Web page.</summary>
<returns>The virtual path.</returns>
</member>
<member name="P:System.Web.Optimization.Bundle.Transforms">
<summary>Transforms the contents of a bundle.</summary>
<returns>The list of transforms for the bundle.</returns>
</member>
<member name="M:System.Web.Optimization.Bundle.UpdateCache(System.Web.Optimization.BundleContext,System.Web.Optimization.BundleResponse)"></member>
<member name="T:System.Web.Optimization.BundleCollection">
<summary>Contains and manages the set of registered <see cref="T:System.Web.Optimization.Bundle" /> objects in an ASP.NET application.</summary>
</member>
<member name="M:System.Web.Optimization.BundleCollection.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleCollection" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.BundleCollection.Add(System.Web.Optimization.Bundle)">
<summary>Adds a bundle to the collection.</summary>
<param name="bundle">The bundle to add.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.AddDefaultFileExtensionReplacements(System.Web.Optimization.FileExtensionReplacementList)">
<summary>Adds the default file extension replacements for common conventions.</summary>
<param name="list">The list to populate with default values.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.AddDefaultFileOrderings(System.Collections.Generic.IList{System.Web.Optimization.BundleFileSetOrdering})">
<summary>Adds default file order specifications to use with bundles in the collection.</summary>
<param name="list">The list to populate with default values.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.AddDefaultIgnorePatterns(System.Web.Optimization.IgnoreList)">
<summary>Adds the default file ignore patterns.</summary>
<param name="ignoreList">The ignore list to populate with default values.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.Clear">
<summary>Removes all bundles from the collection.</summary>
</member>
<member name="P:System.Web.Optimization.BundleCollection.Count">
<summary>Gets the count of registered bundles in the collection.</summary>
<returns>The number of bundles.</returns>
</member>
<member name="P:System.Web.Optimization.BundleCollection.DirectoryFilter">
<summary>Gets a list of file patterns which are ignored when including files using wildcards or substitution tokens.</summary>
<returns>A list of file patterns.</returns>
</member>
<member name="P:System.Web.Optimization.BundleCollection.FileExtensionReplacementList">
<summary>Gets the file extension replacement list.</summary>
<returns>The file extension replacement list.</returns>
</member>
<member name="P:System.Web.Optimization.BundleCollection.FileSetOrderList">
<summary>Gets a list that specifies default file orderings to use for files in the registered bundles.</summary>
<returns>The list of file orderings.</returns>
</member>
<member name="M:System.Web.Optimization.BundleCollection.GetBundleFor(System.String)">
<summary>Returns a bundle in the collection using the specified virtual path.</summary>
<returns>The bundle for the virtual path or null if no bundle exists at the path.</returns>
<param name="bundleVirtualPath">The virtual path of the bundle to return.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.GetEnumerator">
<summary>Returns the bundle enumerator.</summary>
<returns>The bundle enumerator.</returns>
</member>
<member name="M:System.Web.Optimization.BundleCollection.GetRegisteredBundles">
<summary>Returns the collection of all registered bundles.</summary>
<returns>The collection of registered bundles.</returns>
</member>
<member name="P:System.Web.Optimization.BundleCollection.IgnoreList">
<summary>Gets the list of files to ignore.</summary>
<returns>The list of files to ignore.</returns>
</member>
<member name="M:System.Web.Optimization.BundleCollection.Remove(System.Web.Optimization.Bundle)">
<summary>Removes a bundle from the collection.</summary>
<returns>true if the bundle was removed; otherwise, false.</returns>
<param name="bundle">The bundle to remove.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.ResetAll">
<summary>Clears the bundles and resets all the defaults.</summary>
</member>
<member name="M:System.Web.Optimization.BundleCollection.ResolveBundleUrl(System.String)">
<summary>Returns the bundle URL for the specified virtual path.</summary>
<returns>The bundle URL or null if the bundle cannot be found.</returns>
<param name="bundleVirtualPath">The bundle virtual path.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.ResolveBundleUrl(System.String,System.Boolean)">
<summary>Returns the bundle URL for the specified virtual path, including a content hash if requested.</summary>
<returns>The bundle URL or null if the bundle cannot be found.</returns>
<param name="bundleVirtualPath">The virtual path of the bundle.</param>
<param name="includeContentHash">true to include a hash code for the content; otherwise, false. The default is true.</param>
</member>
<member name="M:System.Web.Optimization.BundleCollection.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
<summary>Returns an enumerator that can be used to iterate through the collection.</summary>
<returns>An <see cref="T:System.Collections.Generic.IEnumerator`1" /> that can be used to iterate through the collection.</returns>
</member>
<member name="M:System.Web.Optimization.BundleCollection.System#Collections#IEnumerable#GetEnumerator">
<summary>Returns an enumerator that can be used to iterate through the collection.</summary>
<returns>An <see cref="T:System.Collections.IEnumerator" /> that can be used to iterate through the collection.</returns>
</member>
<member name="P:System.Web.Optimization.BundleCollection.UseCdn">
<summary>Gets or sets whether the collection will try to use <see cref="P:System.Web.Optimization.Bundle.CdnPath" /> if specified.</summary>
<returns>true if the collection will try to use Bundle.CdnPath if specified; Otherwise, false.</returns>
</member>
<member name="T:System.Web.Optimization.BundleContext">
<summary>Encapsulates the info needed to process a bundle request</summary>
</member>
<member name="M:System.Web.Optimization.BundleContext.#ctor(System.Web.HttpContextBase,System.Web.Optimization.BundleCollection,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleContext" /> class.</summary>
<param name="context">The context.</param>
<param name="collection">The collection of bundles.</param>
<param name="bundleVirtualPath">The virtual path of the bundles.</param>
</member>
<member name="P:System.Web.Optimization.BundleContext.BundleCollection">
<summary>Gets or sets the collection of bundles.</summary>
<returns>The collection of bundles.</returns>
</member>
<member name="P:System.Web.Optimization.BundleContext.BundleVirtualPath">
<summary>Gets or sets the virtual path for the bundle request</summary>
<returns>The virtual path for the bundle request.</returns>
</member>
<member name="P:System.Web.Optimization.BundleContext.EnableInstrumentation">
<summary>Gets or sets whether the instrumentation output is requested.</summary>
<returns>true if instrumentation output is requested; otherwise, false.</returns>
</member>
<member name="P:System.Web.Optimization.BundleContext.EnableOptimizations">
<summary>Gets or sets whether optimizations are enabled via <see cref="P:System.Web.Optimization.BundleTable.EnableOptimizations" />.</summary>
<returns>true if optimizations are enabled via <see cref="P:System.Web.Optimization.BundleTable.EnableOptimizations" />; otherwise, false.</returns>
</member>
<member name="P:System.Web.Optimization.BundleContext.HttpContext">
<summary>Gets or sets the HTTP context associated with the bundle context.</summary>
<returns>The HTTP context associated with the bundle context.</returns>
</member>
<member name="P:System.Web.Optimization.BundleContext.UseServerCache">
<summary>Gets or sets whether the bindle context will store the bundle response in the HttpContext.Cache.</summary>
<returns>true if the bindle context will store the bundle response in the cache; Otherwise, false.</returns>
</member>
<member name="T:System.Web.Optimization.BundleDefinition">
<summary>Represents a bundle definition as specified by the bundle manifest.</summary>
</member>
<member name="M:System.Web.Optimization.BundleDefinition.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleDefinition" /> class.</summary>
</member>
<member name="P:System.Web.Optimization.BundleDefinition.CdnFallbackExpression">
<summary>Gets or sets the CDN fallback expression for the bundle.</summary>
<returns>The CDN fallback expression for the bundle.</returns>
</member>
<member name="P:System.Web.Optimization.BundleDefinition.CdnPath">
<summary>Gets or sets the CDN path for the bundle.</summary>
<returns>The CDN path for the bundle.</returns>
</member>
<member name="P:System.Web.Optimization.BundleDefinition.Includes">
<summary>Gets the files included in the bundle.</summary>
<returns>The files included in the bundle.</returns>
</member>
<member name="P:System.Web.Optimization.BundleDefinition.Path">
<summary>Gets or sets the virtual path for the bundle.</summary>
<returns>The virtual path for the bundle.</returns>
</member>
<member name="T:System.Web.Optimization.BundleFile"></member>
<member name="M:System.Web.Optimization.BundleFile.#ctor(System.String,System.Web.Hosting.VirtualFile)"></member>
<member name="M:System.Web.Optimization.BundleFile.#ctor(System.String,System.Web.Hosting.VirtualFile,System.Collections.Generic.IList{System.Web.Optimization.IItemTransform})"></member>
<member name="M:System.Web.Optimization.BundleFile.ApplyTransforms"></member>
<member name="P:System.Web.Optimization.BundleFile.IncludedVirtualPath"></member>
<member name="P:System.Web.Optimization.BundleFile.Transforms"></member>
<member name="P:System.Web.Optimization.BundleFile.VirtualFile"></member>
<member name="T:System.Web.Optimization.BundleFileSetOrdering">
<summary>Encapsulates a named set of files with relative orderings, for example jquery or modernizer.</summary>
</member>
<member name="M:System.Web.Optimization.BundleFileSetOrdering.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleFileSetOrdering" /> class.</summary>
<param name="name">The name used to help identify the file ordering.</param>
</member>
<member name="P:System.Web.Optimization.BundleFileSetOrdering.Files">
<summary>Gets or sets the ordered list of file name patterns (allows one prefix/suffix wildcard '*') that determines the relative ordering of these files in the bundle. For example, ["z.js", "b*", "*a", "a.js"].</summary>
<returns>The ordered list of file name patterns that determines the relative ordering of these files in the bundle.</returns>
</member>
<member name="P:System.Web.Optimization.BundleFileSetOrdering.Name">
<summary> Gets or sets the name used to help identify the file ordering, for example, jquery. </summary>
<returns>The name used to help identify the file ordering.</returns>
</member>
<member name="T:System.Web.Optimization.BundleManifest">
<summary> Represents the XML configuration to configure the <see cref="P:System.Web.Optimization.BundleTable.Bundles" /> bundle collection. </summary>
</member>
<member name="P:System.Web.Optimization.BundleManifest.BundleManifestPath">
<summary>Gets or sets the path to the bundle manifest file that sets up the <see cref="T:System.Web.Optimization.BundleCollection" />.</summary>
<returns>The path to the bundle manifest file that sets up the <see cref="T:System.Web.Optimization.BundleCollection" />.</returns>
</member>
<member name="M:System.Web.Optimization.BundleManifest.ReadBundleManifest">
<summary>Reads the bundle manifest using the default bundle configuration.</summary>
<returns>The bundle manifest.</returns>
</member>
<member name="M:System.Web.Optimization.BundleManifest.ReadBundleManifest(System.IO.Stream)">
<summary> Reads the bundle manifest from a given stream. </summary>
<returns>The bundle manifest.</returns>
<param name="bundleStream">The bundle stream to read from.</param>
</member>
<member name="P:System.Web.Optimization.BundleManifest.ScriptBundles">
<summary>Gets the <see cref="T:System.Web.Optimization.ScriptBundle" /> objects specified by the manifest file.</summary>
<returns>The <see cref="T:System.Web.Optimization.ScriptBundle" /> objects specified by the manifest file.</returns>
</member>
<member name="P:System.Web.Optimization.BundleManifest.StyleBundles">
<summary>Gets or sets the registered style bundles. </summary>
<returns>The registered style bundles.</returns>
</member>
<member name="T:System.Web.Optimization.BundleModule">
<summary> Represents a module that enables bundling to intercept requests to bundle URLs. </summary>
</member>
<member name="M:System.Web.Optimization.BundleModule.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleModule" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.BundleModule.Dispose">
<summary> Disposes any resources used by the <see cref="T:System.Web.Optimization.BundleModule" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.BundleModule.Init(System.Web.HttpApplication)">
<summary> Hooks the OnApplicationPostResolveRequestCache event to remap to the bundle handler. </summary>
<param name="application">The application that will receive the registration of the event.</param>
</member>
<member name="M:System.Web.Optimization.BundleModule.System#Web#IHttpModule#Dispose">
<summary>Calls the Dispose() method.</summary>
</member>
<member name="M:System.Web.Optimization.BundleModule.System#Web#IHttpModule#Init(System.Web.HttpApplication)">
<summary>Calls the Init method.</summary>
<param name="application">The application that will receive the registration of the event.</param>
</member>
<member name="T:System.Web.Optimization.BundleResolver">
<summary>Represents a class that determine if a script reference is a bundle, and what it contains to prevent duplicate script references.</summary>
</member>
<member name="M:System.Web.Optimization.BundleResolver.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleResolver" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.BundleResolver.#ctor(System.Web.Optimization.BundleCollection)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleResolver" /> class with the specified bundle.</summary>
<param name="bundles">The bundles of objects.</param>
</member>
<member name="M:System.Web.Optimization.BundleResolver.#ctor(System.Web.Optimization.BundleCollection,System.Web.HttpContextBase)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleResolver" /> class with the specified bundle and context.</summary>
<param name="bundles">The bundles of object.</param>
<param name="context">The HttpContextBase.</param>
</member>
<member name="P:System.Web.Optimization.BundleResolver.Current">
<summary>Gets or sets the ScriptManager that reflects against <see cref="P:System.Web.Optimization.BundleResolver.Current" />.</summary>
<returns>The ScriptManager that reflects against <see cref="P:System.Web.Optimization.BundleResolver.Current" />.</returns>
</member>
<member name="M:System.Web.Optimization.BundleResolver.GetBundleContents(System.String)">
<summary>Returns an enumeration of actual file paths to the contents of the bundle.</summary>
<returns>The actual file paths to the contents of the bundle.</returns>
<param name="virtualPath">The virtual file path.</param>
</member>
<member name="M:System.Web.Optimization.BundleResolver.GetBundleUrl(System.String)">
<summary>Gets the versioned url for the bundle or returns the virtualPath unchanged if it does not point to a bundle.</summary>
<returns>The versioned url for the bundle.</returns>
<param name="virtualPath">The virtual file path.</param>
</member>
<member name="M:System.Web.Optimization.BundleResolver.IsBundleVirtualPath(System.String)">
<summary>Determines if the virtualPath is to a bundle.</summary>
<returns>The virtualPath.</returns>
<param name="virtualPath">The virtual file path.</param>
</member>
<member name="T:System.Web.Optimization.BundleResponse">
<summary>Encapsulates the response data that will be sent for a bundle request.</summary>
</member>
<member name="M:System.Web.Optimization.BundleResponse.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.BundleResponse" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.BundleResponse.#ctor(System.String,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="P:System.Web.Optimization.BundleResponse.Cacheability">
<summary>Gets or sets a value that is used to set the Cache-Control HTTP header.</summary>
<returns>A value that is used to set the Cache-Control HTTP header.</returns>
</member>
<member name="P:System.Web.Optimization.BundleResponse.Content">
<summary>Gets or sets the content of the bundle which is sent as the response body.</summary>
<returns>The content of the bundle.</returns>
</member>
<member name="P:System.Web.Optimization.BundleResponse.ContentType">
<summary>Gets or sets the media type that is sent in the HTTP content/type header.</summary>
<returns>The media type that is sent in the HTTP content/type header.</returns>
</member>
<member name="P:System.Web.Optimization.BundleResponse.Files">
<summary>Gets or sets the list of files in the bundle.</summary>
<returns>The list of files in the bundle.</returns>
</member>
<member name="T:System.Web.Optimization.BundleTable">
<summary> Static holder class for the default bundle collection. </summary>
</member>
<member name="P:System.Web.Optimization.BundleTable.Bundles">
<summary>Gets the default bundle collection. </summary>
<returns>The default bundle collection.</returns>
</member>
<member name="P:System.Web.Optimization.BundleTable.EnableOptimizations">
<summary>Gets or sets whether bundling and minification of bundle references is enabled.</summary>
<returns>true if bundling and minification of bundle references is enabled; otherwise, false.</returns>
</member>
<member name="P:System.Web.Optimization.BundleTable.VirtualPathProvider">
<summary>Gets or sets the provider to be used in resolving bundle files.</summary>
<returns>The provider to be used in resolving bundle files.</returns>
</member>
<member name="T:System.Web.Optimization.CssMinify">
<summary> Represents a <see cref="T:System.Web.Optimization.IBundleTransform" /> that does CSS minification.</summary>
</member>
<member name="M:System.Web.Optimization.CssMinify.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.CssMinify" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.CssMinify.Process(System.Web.Optimization.BundleContext,System.Web.Optimization.BundleResponse)">
<summary> Transforms the bundle contents by applying CSS minification. </summary>
<param name="context">The bundle context.</param>
<param name="response">The bundle response object</param>
</member>
<member name="T:System.Web.Optimization.CssRewriteUrlTransform"></member>
<member name="M:System.Web.Optimization.CssRewriteUrlTransform.#ctor"></member>
<member name="M:System.Web.Optimization.CssRewriteUrlTransform.Process(System.String,System.String)"></member>
<member name="T:System.Web.Optimization.DefaultBundleBuilder">
<summary>Represents the default logic which combines files in the bundle.</summary>
</member>
<member name="M:System.Web.Optimization.DefaultBundleBuilder.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.DefaultBundleBuilder" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.DefaultBundleBuilder.BuildBundleContent(System.Web.Optimization.Bundle,System.Web.Optimization.BundleContext,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="T:System.Web.Optimization.DefaultBundleOrderer">
<summary>Default <see cref="T:System.Web.Optimization.IBundleOrderer" /> which orders files in a bundled using <see cref="P:System.Web.Optimization.BundleCollection.FileSetOrderList" />.</summary>
</member>
<member name="M:System.Web.Optimization.DefaultBundleOrderer.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.DefaultBundleOrderer" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.DefaultBundleOrderer.OrderFiles(System.Web.Optimization.BundleContext,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="T:System.Web.Optimization.DynamicFolderBundle">
<summary>Represents a <see cref="T:System.Web.Optimization.Bundle" /> object that ASP.NET creates from a folder that contains files of the same type.</summary>
</member>
<member name="M:System.Web.Optimization.DynamicFolderBundle.#ctor(System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.DynamicFolderBundle" /> class.</summary>
<param name="pathSuffix">The path suffix.</param>
<param name="searchPattern">The search pattern.</param>
</member>
<member name="M:System.Web.Optimization.DynamicFolderBundle.#ctor(System.String,System.String,System.Boolean)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.DynamicFolderBundle" /> class.</summary>
<param name="pathSuffix">The path suffix.</param>
<param name="searchPattern">The search pattern.</param>
<param name="searchSubdirectories">The search subdirectories.</param>
</member>
<member name="M:System.Web.Optimization.DynamicFolderBundle.#ctor(System.String,System.String,System.Boolean,System.Web.Optimization.IBundleTransform[])">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.DynamicFolderBundle" /> class.</summary>
<param name="pathSuffix">The path suffix.</param>
<param name="searchPattern">The search pattern.</param>
<param name="searchSubdirectories">The search subdirectories.</param>
<param name="transforms">The transform parameter.</param>
</member>
<member name="M:System.Web.Optimization.DynamicFolderBundle.#ctor(System.String,System.String,System.Web.Optimization.IBundleTransform[])">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.DynamicFolderBundle" /> class.</summary>
<param name="pathSuffix">The path suffix.</param>
<param name="searchPattern">The search pattern.</param>
<param name="transforms">The transform parameter.</param>
</member>
<member name="P:System.Web.Optimization.DynamicFolderBundle.CdnPath">
<summary>Gets or set the path of a Content Delivery Network (CDN) that contains the folder bundle.</summary>
<returns>The path of a Content Delivery Network (CDN)</returns>
</member>
<member name="M:System.Web.Optimization.DynamicFolderBundle.EnumerateFiles(System.Web.Optimization.BundleContext)">
<summary>Returns all the base methods files and any dynamic files found in the requested directory.</summary>
<returns>All the base methods files and any dynamic files found in the requested directory.</returns>
<param name="context">The bundle context.</param>
</member>
<member name="P:System.Web.Optimization.DynamicFolderBundle.SearchPattern">
<summary>Gets or sets the search pattern for the folder bundle.</summary>
<returns>The search pattern for the folder bundle.</returns>
</member>
<member name="P:System.Web.Optimization.DynamicFolderBundle.SearchSubdirectories">
<summary>Gets or sets whether the search pattern is applied to subdirectories.</summary>
<returns>true if the search pattern is applied to subdirectories; otherwise, false.</returns>
</member>
<member name="T:System.Web.Optimization.FileExtensionReplacementList">
<summary>A set of file extensions that will be used to select different files based on the <see cref="T:System.Web.Optimization.OptimizationMode" />.</summary>
</member>
<member name="M:System.Web.Optimization.FileExtensionReplacementList.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.FileExtensionReplacementList" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.FileExtensionReplacementList.Add(System.String)">
<summary>Adds a file extension which will be applied regardless of <see cref="T:System.Web.Optimization.OptimizationMode" />.</summary>
<param name="extension">File extension string.</param>
</member>
<member name="M:System.Web.Optimization.FileExtensionReplacementList.Add(System.String,System.Web.Optimization.OptimizationMode)">
<summary>Add a file extension for a specified <see cref="T:System.Web.Optimization.OptimizationMode" />.</summary>
<param name="extension">File extension string.</param>
<param name="mode">
<see cref="T:System.Web.Optimization.OptimizationMode" /> in which to apply the file extension replacement.</param>
</member>
<member name="M:System.Web.Optimization.FileExtensionReplacementList.Clear">
<summary>Clears file extension replacements.</summary>
</member>
<member name="M:System.Web.Optimization.FileExtensionReplacementList.ReplaceFileExtensions(System.Web.Optimization.BundleContext,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="T:System.Web.Optimization.IBundleBuilder">
<summary>Specifies the building of the bundle from the individual file contents.</summary>
</member>
<member name="M:System.Web.Optimization.IBundleBuilder.BuildBundleContent(System.Web.Optimization.Bundle,System.Web.Optimization.BundleContext,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="T:System.Web.Optimization.IBundleOrderer">
<summary>Defines methods for ordering files within a <see cref="T:System.Web.Optimization.Bundle" />.</summary>
</member>
<member name="M:System.Web.Optimization.IBundleOrderer.OrderFiles(System.Web.Optimization.BundleContext,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="T:System.Web.Optimization.IBundleResolver">
<summary>Represents an interface used to query the BundleCollection for metadata.</summary>
</member>
<member name="M:System.Web.Optimization.IBundleResolver.GetBundleContents(System.String)">
<summary>Returns a list of all the virtualPaths of the contents of the bundle.</summary>
<returns>The list of virtual path.</returns>
<param name="virtualPath">The virtual path for the bundle.</param>
</member>
<member name="M:System.Web.Optimization.IBundleResolver.GetBundleUrl(System.String)">
<summary>Returns the versioned URL of the bundle.</summary>
<returns>The versioned URL of the bundle.</returns>
<param name="virtualPath">The virtual path.</param>
</member>
<member name="M:System.Web.Optimization.IBundleResolver.IsBundleVirtualPath(System.String)">
<summary>Specifies whether the virtual path is to a bundle.</summary>
<returns>true if the virtual path is to a bundle; Otherwise, false.</returns>
<param name="virtualPath">The virtual path.</param>
</member>
<member name="T:System.Web.Optimization.IBundleTransform">
<summary>Defines a method that transforms the files in a <see cref="T:System.Web.Optimization.BundleResponse" /> object.</summary>
</member>
<member name="M:System.Web.Optimization.IBundleTransform.Process(System.Web.Optimization.BundleContext,System.Web.Optimization.BundleResponse)">
<summary>Transforms the content in the <see cref="T:System.Web.Optimization.BundleResponse" /> object.</summary>
<param name="context">The bundle context.</param>
<param name="response">The bundle response.</param>
</member>
<member name="T:System.Web.Optimization.IgnoreList">
<summary>A list of filename patterns to be ignored and thereby excluded from bundles.</summary>
</member>
<member name="M:System.Web.Optimization.IgnoreList.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.IgnoreList" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.IgnoreList.Clear">
<summary>Clears entire ignore list.</summary>
</member>
<member name="M:System.Web.Optimization.IgnoreList.FilterIgnoredFiles(System.Web.Optimization.BundleContext,System.Collections.Generic.IEnumerable{System.Web.Optimization.BundleFile})"></member>
<member name="M:System.Web.Optimization.IgnoreList.Ignore(System.String)">
<summary>Ignores the specified pattern regardless of the value set in <see cref="P:System.Web.Optimization.BundleTable.EnableOptimizations" />.</summary>
<param name="item">The ignore pattern.</param>
</member>
<member name="M:System.Web.Optimization.IgnoreList.Ignore(System.String,System.Web.Optimization.OptimizationMode)">
<summary>Ignores the specified pattern when in the appropriate <see cref="T:System.Web.Optimization.OptimizationMode" />.</summary>
<param name="pattern">The ignore pattern.</param>
<param name="mode">The <see cref="T:System.Web.Optimization.OptimizationMode" /> in which to apply the ignore pattern.</param>
</member>
<member name="M:System.Web.Optimization.IgnoreList.ShouldIgnore(System.Web.Optimization.BundleContext,System.String)">
<summary>Determines whether a file should be ignored based on the ignore list.</summary>
<returns>true if the filename matches a pattern in the <see cref="T:System.Web.Optimization.IgnoreList" />; otherwise, false.</returns>
<param name="context">The <see cref="T:System.Web.Optimization.BundleContext" /> object that contains state for both the framework configuration and the HTTP request.</param>
<param name="fileName">The name of the file to compare with the ignore list.</param>
</member>
<member name="T:System.Web.Optimization.IItemTransform"></member>
<member name="M:System.Web.Optimization.IItemTransform.Process(System.String,System.String)"></member>
<member name="T:System.Web.Optimization.JsMinify">
<summary>Represents a BundleTransform that does CSS Minification.</summary>
</member>
<member name="M:System.Web.Optimization.JsMinify.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.JsMinify" /> class.</summary>
</member>
<member name="M:System.Web.Optimization.JsMinify.Process(System.Web.Optimization.BundleContext,System.Web.Optimization.BundleResponse)">
<summary>Transforms the bundle contents by applying javascript minification.</summary>
<param name="context">The context associated with the bundle.</param>
<param name="response">The <see cref="T:System.Web.Optimization.BundleResponse" />.</param>
</member>
<member name="T:System.Web.Optimization.OptimizationMode">
<summary> OptimizationMode used by IgnoreList and FileExtensionReplacement. </summary>
</member>
<member name="F:System.Web.Optimization.OptimizationMode.Always">
<summary> Always: Always ignore </summary>
</member>
<member name="F:System.Web.Optimization.OptimizationMode.WhenDisabled">
<summary> WhenDisabled: Only when BundleTable.EnableOptimization = false </summary>
</member>
<member name="F:System.Web.Optimization.OptimizationMode.WhenEnabled">
<summary> WhenEnabled: Only when BundleTable.EnableOptimization = true </summary>
</member>
<member name="T:System.Web.Optimization.OptimizationSettings">
<summary>Configuration settings used by the <see cref="T:System.Web.Optimization.Optimizer" /> class to generate bundle responses outside of ASP.NET applications.</summary>
</member>
<member name="M:System.Web.Optimization.OptimizationSettings.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.OptimizationSettings" /> class.</summary>
</member>
<member name="P:System.Web.Optimization.OptimizationSettings.ApplicationPath">
<summary>The physical file path to resolve the ~ token in virtual paths.</summary>
<returns>The physical file path.</returns>
</member>
<member name="P:System.Web.Optimization.OptimizationSettings.BundleManifestPath">
<summary>The path to the bundle manifest file that sets up the <see cref="T:System.Web.Optimization.BundleCollection" />.</summary>
<returns>The path to the bundle manifest file that sets up the <see cref="T:System.Web.Optimization.BundleCollection" />.</returns>
</member>
<member name="P:System.Web.Optimization.OptimizationSettings.BundleSetupMethod">
<summary>Gets or sets a callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection.</summary>
<returns>A callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection.</returns>
</member>
<member name="P:System.Web.Optimization.OptimizationSettings.BundleTable"></member>
<member name="T:System.Web.Optimization.Optimizer">
<summary>Represents a standalone class for generating bundle responses outside of ASP.NET</summary>
</member>
<member name="M:System.Web.Optimization.Optimizer.BuildAllBundles(System.Web.Optimization.OptimizationSettings)"></member>
<member name="M:System.Web.Optimization.Optimizer.BuildBundle(System.String,System.Web.Optimization.OptimizationSettings)">
<summary>Builds a <see cref="T:System.Web.Optimization.BundleResponse" /> object from the declarations found in a bundle manifest file.</summary>
<returns>The bundle response for specified <paramref name="bundlePath" />.</returns>
<param name="bundlePath">The path to the bundle being requested.</param>
<param name="settings">An <see cref="T:System.Web.Optimization.OptimizationSettings" /> object containing configuration settings for optimization.</param>
</member>
<member name="T:System.Web.Optimization.PreApplicationStartCode">
<summary> Hooks up the BundleModule </summary>
</member>
<member name="M:System.Web.Optimization.PreApplicationStartCode.Start">
<summary> Hooks up the BundleModule </summary>
</member>
<member name="T:System.Web.Optimization.ScriptBundle">
<summary>Represents a bundle that does Js Minification.</summary>
</member>
<member name="M:System.Web.Optimization.ScriptBundle.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.ScriptBundle" /> class that takes a virtual path for the bundle.</summary>
<param name="virtualPath">The virtual path for the bundle.</param>
</member>
<member name="M:System.Web.Optimization.ScriptBundle.#ctor(System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.ScriptBundle" /> class that takes virtual path and cdnPath for the bundle.</summary>
<param name="virtualPath">The virtual path for the bundle.</param>
<param name="cdnPath">The path of a Content Delivery Network (CDN).</param>
</member>
<member name="T:System.Web.Optimization.Scripts">
<summary>Represents a type that allows queuing and rendering script elements.</summary>
</member>
<member name="P:System.Web.Optimization.Scripts.DefaultTagFormat">
<summary>Gets or sets the default format string for defining how script tags are rendered.</summary>
<returns>The default format string for defining how script tags are rendered.</returns>
</member>
<member name="M:System.Web.Optimization.Scripts.Render(System.String[])">
<summary>Renders script tags for the following paths.</summary>
<returns>The HTML string containing the script tag or tags for the bundle.</returns>
<param name="paths">Set of virtual paths for which to generate script tags.</param>
</member>
<member name="M:System.Web.Optimization.Scripts.RenderFormat(System.String,System.String[])">
<summary>Renders script tags for a set of paths based on a format string.</summary>
<returns>The HTML string containing the script tag or tags for the bundle.</returns>
<param name="tagFormat">The format string for defining the rendered script tags.</param>
<param name="paths">Set of virtual paths for which to generate script tags.</param>
</member>
<member name="M:System.Web.Optimization.Scripts.Url(System.String)">
<summary>Returns a fingerprinted URL if the <paramref name="virtualPath" /> is to a bundle, otherwise returns the resolve URL.</summary>
<returns>A <see cref="T:System.Web.IHtmlString" /> that represents the URL.</returns>
<param name="virtualPath">The virtual path.</param>
</member>
<member name="T:System.Web.Optimization.StyleBundle">
<summary> Represents a bundle that does CSS minification. </summary>
</member>
<member name="M:System.Web.Optimization.StyleBundle.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.StyleBundle" /> class with a virtual path for the bundle. </summary>
<param name="virtualPath">A virtual path for the bundle.</param>
</member>
<member name="M:System.Web.Optimization.StyleBundle.#ctor(System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Optimization.StyleBundle" /> class with virtual path and CDN path for the bundle. </summary>
<param name="virtualPath">A virtual path for the bundle.</param>
<param name="cdnPath">A CDN path for the bundle.</param>
</member>
<member name="T:System.Web.Optimization.Styles">
<summary>Represents a helper class for rendering link elements.</summary>
</member>
<member name="P:System.Web.Optimization.Styles.DefaultTagFormat">
<summary>Gets or sets the default format string for defining how link tags are rendered.</summary>
<returns>The default format string for defining how link tags are rendered.</returns>
</member>
<member name="M:System.Web.Optimization.Styles.Render(System.String[])">
<summary>Renders link tags for a set of paths.</summary>
<returns>A HTML string containing the link tag or tags for the bundle.</returns>
<param name="paths">Set of virtual paths for which to generate link tags.</param>
</member>
<member name="M:System.Web.Optimization.Styles.RenderFormat(System.String,System.String[])">
<summary>Renders link tags for a set of paths based on a format string.</summary>
<returns>A HTML string containing the link tag or tags for the bundle.</returns>
<param name="tagFormat">Format string for defining the rendered link tags.</param>
<param name="paths">Set of virtual paths for which to generate link tags.</param>
</member>
<member name="M:System.Web.Optimization.Styles.Url(System.String)">
<summary>Generates a version-stamped URL for a bundle.</summary>
<returns>A fingerprinted URL.</returns>
<param name="virtualPath">The virtual file path.</param>
</member>
</members>
</doc>

View file

@ -0,0 +1,41 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!-- If runtime tag is absent -->
<runtime xdt:Transform="InsertIfMissing">
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
</assemblyBinding>
</runtime>
<!-- If runtime tag is present, but assembly binding tag is absent -->
<runtime>
<assemblyBinding xdt:Transform="InsertIfMissing" xmlns="urn:schemas-microsoft-com:asm.v1">
</assemblyBinding>
</runtime>
<!-- If the binding redirect is already present, the existing entry needs to be removed before inserting the new entry-->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Remove"
xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Helpers')" >
</dependentAssembly>
<dependentAssembly xdt:Transform="Remove"
xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.WebPages')" >
</dependentAssembly>
</assemblyBinding>
</runtime>
<!-- Inserting the new binding redirect -->
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly xdt:Transform="Insert">
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View file

@ -0,0 +1,13 @@
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="Remove"
xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.Helpers')" >
</dependentAssembly>
<dependentAssembly xdt:Transform="Remove"
xdt:Locator="Condition(./_defaultNamespace:assemblyIdentity/@name='System.Web.WebPages')" >
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View file

@ -0,0 +1,839 @@
<?xml version="1.0" encoding="utf-8"?>
<doc>
<assembly>
<name>System.Web.Helpers</name>
</assembly>
<members>
<member name="T:System.Web.Helpers.Chart">
<summary>Displays data in the form of a graphical chart.</summary>
</member>
<member name="M:System.Web.Helpers.Chart.#ctor(System.Int32,System.Int32,System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.Chart" /> class.</summary>
<param name="width">The width, in pixels, of the complete chart image.</param>
<param name="height">The height, in pixels, of the complete chart image.</param>
<param name="theme">(Optional) The template (theme) to apply to the chart.</param>
<param name="themePath">(Optional) The template (theme) path and file name to apply to the chart.</param>
</member>
<member name="M:System.Web.Helpers.Chart.AddLegend(System.String,System.String)">
<summary>Adds a legend to the chart.</summary>
<returns>The chart.</returns>
<param name="title">The text of the legend title.</param>
<param name="name">The unique name of the legend.</param>
</member>
<member name="M:System.Web.Helpers.Chart.AddSeries(System.String,System.String,System.String,System.String,System.String,System.Int32,System.Collections.IEnumerable,System.String,System.Collections.IEnumerable,System.String)">
<summary>Provides data points and series attributes for the chart.</summary>
<returns>The chart.</returns>
<param name="name">The unique name of the series.</param>
<param name="chartType">The chart type of a series.</param>
<param name="chartArea">The name of the chart area that is used to plot the data series.</param>
<param name="axisLabel">The axis label text for the series.</param>
<param name="legend">The name of the series that is associated with the legend.</param>
<param name="markerStep">The granularity of data point markers.</param>
<param name="xValue">The values to plot along the x-axis.</param>
<param name="xField">The name of the field for x-values.</param>
<param name="yValues">The values to plot along the y-axis.</param>
<param name="yFields">A comma-separated list of name or names of the field or fields for y-values.</param>
</member>
<member name="M:System.Web.Helpers.Chart.AddTitle(System.String,System.String)">
<summary>Adds a title to the chart.</summary>
<returns>The chart.</returns>
<param name="text">The title text.</param>
<param name="name">The unique name of the title.</param>
</member>
<member name="M:System.Web.Helpers.Chart.DataBindCrossTable(System.Collections.IEnumerable,System.String,System.String,System.String,System.String,System.String)">
<summary>Binds a chart to a data table, where one series is created for each unique value in a column.</summary>
<returns>The chart.</returns>
<param name="dataSource">The chart data source.</param>
<param name="groupByField">The name of the column that is used to group data into the series.</param>
<param name="xField">The name of the column for x-values.</param>
<param name="yFields">A comma-separated list of names of the columns for y-values.</param>
<param name="otherFields">Other data point properties that can be bound.</param>
<param name="pointSortOrder">The order in which the series will be sorted. The default is "Ascending".</param>
</member>
<member name="M:System.Web.Helpers.Chart.DataBindTable(System.Collections.IEnumerable,System.String)">
<summary>Creates and binds series data to the specified data table, and optionally populates multiple x-values.</summary>
<returns>The chart.</returns>
<param name="dataSource">The chart data source. This can be can be any <see cref="T:System.Collections.IEnumerable" /> object.</param>
<param name="xField">The name of the table column used for the series x-values.</param>
</member>
<member name="P:System.Web.Helpers.Chart.FileName">
<summary>Gets or sets the name of the file that contains the chart image.</summary>
<returns>The name of the file.</returns>
</member>
<member name="M:System.Web.Helpers.Chart.GetBytes(System.String)">
<summary>Returns a chart image as a byte array.</summary>
<returns>The chart.</returns>
<param name="format">The image format. The default is "jpeg".</param>
</member>
<member name="M:System.Web.Helpers.Chart.GetFromCache(System.String)">
<summary>Retrieves the specified chart from the cache.</summary>
<returns>The chart.</returns>
<param name="key">The ID of the cache item that contains the chart to retrieve. The key is set when you call the <see cref="M:System.Web.Helpers.Chart.SaveToCache(System.String,System.Int32,System.Boolean)" /> method.</param>
</member>
<member name="P:System.Web.Helpers.Chart.Height">
<summary>Gets or sets the height, in pixels, of the chart image.</summary>
<returns>The chart height.</returns>
</member>
<member name="M:System.Web.Helpers.Chart.Save(System.String,System.String)">
<summary>Saves a chart image to the specified file.</summary>
<returns>The chart.</returns>
<param name="path">The location and name of the image file.</param>
<param name="format">The image file format, such as "png" or "jpeg".</param>
</member>
<member name="M:System.Web.Helpers.Chart.SaveToCache(System.String,System.Int32,System.Boolean)">
<summary>Saves a chart in the system cache.</summary>
<returns>The ID of the cache item that contains the chart.</returns>
<param name="key">The ID of the chart in the cache.</param>
<param name="minutesToCache">The number of minutes to keep the chart image in the cache. The default is 20.</param>
<param name="slidingExpiration">true to indicate that the chart cache item's expiration is reset each time the item is accessed, or false to indicate that the expiration is based on an absolute interval since the time that the item was added to the cache. The default is true.</param>
</member>
<member name="M:System.Web.Helpers.Chart.SaveXml(System.String)">
<summary>Saves a chart as an XML file.</summary>
<returns>The chart.</returns>
<param name="path">The path and name of the XML file.</param>
</member>
<member name="M:System.Web.Helpers.Chart.SetXAxis(System.String,System.Double,System.Double)">
<summary>Sets values for the horizontal axis.</summary>
<returns>The chart.</returns>
<param name="title">The title of the x-axis.</param>
<param name="min">The minimum value for the x-axis.</param>
<param name="max">The maximum value for the x-axis.</param>
</member>
<member name="M:System.Web.Helpers.Chart.SetYAxis(System.String,System.Double,System.Double)">
<summary>Sets values for the vertical axis.</summary>
<returns>The chart.</returns>
<param name="title">The title of the y-axis.</param>
<param name="min">The minimum value for the y-axis.</param>
<param name="max">The maximum value for the y-axis.</param>
</member>
<member name="M:System.Web.Helpers.Chart.ToWebImage(System.String)">
<summary>Creates a <see cref="T:System.Web.Helpers.WebImage" /> object based on the current <see cref="T:System.Web.Helpers.Chart" /> object.</summary>
<returns>The chart.</returns>
<param name="format">The format of the image to save the <see cref="T:System.Web.Helpers.WebImage" /> object as. The default is "jpeg". The <paramref name="format" /> parameter is not case sensitive.</param>
</member>
<member name="P:System.Web.Helpers.Chart.Width">
<summary>Gets or set the width, in pixels, of the chart image.</summary>
<returns>The chart width.</returns>
</member>
<member name="M:System.Web.Helpers.Chart.Write(System.String)">
<summary>Renders the output of the <see cref="T:System.Web.Helpers.Chart" /> object as an image.</summary>
<returns>The chart.</returns>
<param name="format">The format of the image. The default is "jpeg".</param>
</member>
<member name="M:System.Web.Helpers.Chart.WriteFromCache(System.String,System.String)">
<summary>Renders the output of a <see cref="T:System.Web.Helpers.Chart" /> object that has been cached as an image.</summary>
<returns>The chart.</returns>
<param name="key">The ID of the chart in the cache.</param>
<param name="format">The format of the image. The default is "jpeg".</param>
</member>
<member name="T:System.Web.Helpers.ChartTheme">
<summary>Specifies visual themes for a <see cref="T:System.Web.Helpers.Chart" /> object.</summary>
</member>
<member name="F:System.Web.Helpers.ChartTheme.Blue">
<summary>A theme for 2D charting that features a visual container with a blue gradient, rounded edges, drop-shadowing, and high-contrast gridlines.</summary>
</member>
<member name="F:System.Web.Helpers.ChartTheme.Green">
<summary>A theme for 2D charting that features a visual container with a green gradient, rounded edges, drop-shadowing, and low-contrast gridlines.</summary>
</member>
<member name="F:System.Web.Helpers.ChartTheme.Vanilla">
<summary>A theme for 2D charting that features no visual container and no gridlines.</summary>
</member>
<member name="F:System.Web.Helpers.ChartTheme.Vanilla3D">
<summary>A theme for 3D charting that features no visual container, limited labeling and, sparse, high-contrast gridlines.</summary>
</member>
<member name="F:System.Web.Helpers.ChartTheme.Yellow">
<summary>A theme for 2D charting that features a visual container that has a yellow gradient, rounded edges, drop-shadowing, and high-contrast gridlines.</summary>
</member>
<member name="T:System.Web.Helpers.Crypto">
<summary>Provides methods to generate hash values and encrypt passwords or other sensitive data.</summary>
</member>
<member name="M:System.Web.Helpers.Crypto.GenerateSalt(System.Int32)">
<summary>Generates a cryptographically strong sequence of random byte values.</summary>
<returns>The generated salt value as a base-64-encoded string.</returns>
<param name="byteLength">The number of cryptographically random bytes to generate.</param>
</member>
<member name="M:System.Web.Helpers.Crypto.Hash(System.Byte[],System.String)">
<summary>Returns a hash value for the specified byte array.</summary>
<returns>The hash value for <paramref name="input" /> as a string of hexadecimal characters.</returns>
<param name="input">The data to provide a hash value for.</param>
<param name="algorithm">The algorithm that is used to generate the hash value. The default is "sha256".</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="input" /> is null.</exception>
</member>
<member name="M:System.Web.Helpers.Crypto.Hash(System.String,System.String)">
<summary>Returns a hash value for the specified string.</summary>
<returns>The hash value for <paramref name="input" /> as a string of hexadecimal characters.</returns>
<param name="input">The data to provide a hash value for.</param>
<param name="algorithm">The algorithm that is used to generate the hash value. The default is "sha256".</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="input" /> is null.</exception>
</member>
<member name="M:System.Web.Helpers.Crypto.HashPassword(System.String)">
<summary>Returns an RFC 2898 hash value for the specified password.</summary>
<returns>The hash value for <paramref name="password" /> as a base-64-encoded string.</returns>
<param name="password">The password to generate a hash value for.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="password" /> is null.</exception>
</member>
<member name="M:System.Web.Helpers.Crypto.SHA1(System.String)">
<summary>Returns a SHA-1 hash value for the specified string.</summary>
<returns>The SHA-1 hash value for <paramref name="input" /> as a string of hexadecimal characters.</returns>
<param name="input">The data to provide a hash value for.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="input" /> is null.</exception>
</member>
<member name="M:System.Web.Helpers.Crypto.SHA256(System.String)">
<summary>Returns a SHA-256 hash value for the specified string.</summary>
<returns>The SHA-256 hash value for <paramref name="input" /> as a string of hexadecimal characters.</returns>
<param name="input">The data to provide a hash value for.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="input" /> is null.</exception>
</member>
<member name="M:System.Web.Helpers.Crypto.VerifyHashedPassword(System.String,System.String)">
<summary>Determines whether the specified RFC 2898 hash and password are a cryptographic match.</summary>
<returns>true if the hash value is a cryptographic match for the password; otherwise, false.</returns>
<param name="hashedPassword">The previously-computed RFC 2898 hash value as a base-64-encoded string.</param>
<param name="password">The plaintext password to cryptographically compare with <paramref name="hashedPassword" />.</param>
<exception cref="T:System.ArgumentNullException">
<paramref name="hashedPassword" /> or <paramref name="password" /> is null.</exception>
</member>
<member name="T:System.Web.Helpers.DynamicJsonArray">
<summary>Represents a series of values as a JavaScript-like array by using the dynamic capabilities of the Dynamic Language Runtime (DLR).</summary>
</member>
<member name="M:System.Web.Helpers.DynamicJsonArray.#ctor(System.Object[])">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.DynamicJsonArray" /> class using the specified array element values.</summary>
<param name="arrayValues">An array of objects that contains the values to add to the <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonArray.GetEnumerator">
<summary>Returns an enumerator that can be used to iterate through the elements of the <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance.</summary>
<returns>An enumerator that can be used to iterate through the elements of the JSON array.</returns>
</member>
<member name="P:System.Web.Helpers.DynamicJsonArray.Item(System.Int32)">
<summary>Returns the value at the specified index in the <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance.</summary>
<returns>The value at the specified index.</returns>
</member>
<member name="P:System.Web.Helpers.DynamicJsonArray.Length">
<summary>Returns the number of elements in the <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance.</summary>
<returns>The number of elements in the JSON array.</returns>
</member>
<member name="M:System.Web.Helpers.DynamicJsonArray.op_Implicit(System.Web.Helpers.DynamicJsonArray)~System.Object[]">
<summary>Converts a <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance to an array of objects.</summary>
<returns>The array of objects that represents the JSON array.</returns>
<param name="obj">The JSON array to convert.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonArray.op_Implicit(System.Web.Helpers.DynamicJsonArray)~System.Array">
<summary>Converts a <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance to an array of objects.</summary>
<returns>The array of objects that represents the JSON array.</returns>
<param name="obj">The JSON array to convert.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonArray.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
<summary>Returns an enumerator that can be used to iterate through a collection.</summary>
<returns>An enumerator that can be used to iterate through the collection.</returns>
</member>
<member name="M:System.Web.Helpers.DynamicJsonArray.TryConvert(System.Dynamic.ConvertBinder,System.Object@)">
<summary>Converts the <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance to a compatible type.</summary>
<returns>true if the conversion was successful; otherwise, false.</returns>
<param name="binder">Provides information about the conversion operation.</param>
<param name="result">When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonArray.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
<summary>Tests the <see cref="T:System.Web.Helpers.DynamicJsonArray" /> instance for dynamic members (which are not supported) in a way that does not cause an exception to be thrown.</summary>
<returns>true in all cases.</returns>
<param name="binder">Provides information about the get operation.</param>
<param name="result">When this method returns, contains null. This parameter is passed uninitialized.</param>
</member>
<member name="T:System.Web.Helpers.DynamicJsonObject">
<summary>Represents a collection of values as a JavaScript-like object by using the capabilities of the Dynamic Language Runtime.</summary>
</member>
<member name="M:System.Web.Helpers.DynamicJsonObject.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.DynamicJsonObject" /> class using the specified field values.</summary>
<param name="values">A dictionary of property names and values to add to the <see cref="T:System.Web.Helpers.DynamicJsonObject" /> instance as dynamic members.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonObject.GetDynamicMemberNames">
<summary>Returns a list that contains the name of all dynamic members (JSON fields) of the <see cref="T:System.Web.Helpers.DynamicJsonObject" /> instance.</summary>
<returns>A list that contains the name of every dynamic member (JSON field).</returns>
</member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TryConvert(System.Dynamic.ConvertBinder,System.Object@)">
<summary>Converts the <see cref="T:System.Web.Helpers.DynamicJsonObject" /> instance to a compatible type.</summary>
<returns>true in all cases.</returns>
<param name="binder">Provides information about the conversion operation.</param>
<param name="result">When this method returns, contains the result of the type conversion operation. This parameter is passed uninitialized.</param>
<exception cref="T:System.InvalidOperationException">The <see cref="T:System.Web.Helpers.DynamicJsonObject" /> instance could not be converted to the specified type.</exception>
</member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TryGetIndex(System.Dynamic.GetIndexBinder,System.Object[],System.Object@)">
<summary>Gets the value of a <see cref="T:System.Web.Helpers.DynamicJsonObject" /> field using the specified index.</summary>
<returns>true in all cases.</returns>
<param name="binder">Provides information about the indexed get operation.</param>
<param name="indexes">An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, <paramref name="result" /> contains null when this method returns.</param>
<param name="result">When this method returns, contains the value of the indexed field, or null if the get operation was unsuccessful. This parameter is passed uninitialized.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
<summary>Gets the value of a <see cref="T:System.Web.Helpers.DynamicJsonObject" /> field using the specified name.</summary>
<returns>true in all cases.</returns>
<param name="binder">Provides information about the get operation.</param>
<param name="result">When this method returns, contains the value of the field, or null if the get operation was unsuccessful. This parameter is passed uninitialized.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TrySetIndex(System.Dynamic.SetIndexBinder,System.Object[],System.Object)">
<summary>Sets the value of a <see cref="T:System.Web.Helpers.DynamicJsonObject" /> field using the specified index.</summary>
<returns>true in all cases.</returns>
<param name="binder">Provides information about the indexed set operation.</param>
<param name="indexes">An array that contains a single object that indexes the field by name. The object must be convertible to a string that specifies the name of the JSON field to return. If multiple indexes are specified, no field is changed or added.</param>
<param name="value">The value to set the field to.</param>
</member>
<member name="M:System.Web.Helpers.DynamicJsonObject.TrySetMember(System.Dynamic.SetMemberBinder,System.Object)">
<summary>Sets the value of a <see cref="T:System.Web.Helpers.DynamicJsonObject" /> field using the specified name.</summary>
<returns>true in all cases.</returns>
<param name="binder">Provides information about the set operation.</param>
<param name="value">The value to set the field to.</param>
</member>
<member name="T:System.Web.Helpers.Json">
<summary>Provides methods for working with data in JavaScript Object Notation (JSON) format.</summary>
</member>
<member name="M:System.Web.Helpers.Json.Decode``1(System.String)">
<summary>Converts data in JavaScript Object Notation (JSON) format into the specified strongly typed data list.</summary>
<returns>The JSON-encoded data converted to a strongly typed list.</returns>
<param name="value">The JSON-encoded string to convert.</param>
<typeparam name="T">The type of the strongly typed list to convert JSON data into.</typeparam>
</member>
<member name="M:System.Web.Helpers.Json.Decode(System.String)">
<summary>Converts data in JavaScript Object Notation (JSON) format into a data object.</summary>
<returns>The JSON-encoded data converted to a data object.</returns>
<param name="value">The JSON-encoded string to convert.</param>
</member>
<member name="M:System.Web.Helpers.Json.Decode(System.String,System.Type)">
<summary>Converts data in JavaScript Object Notation (JSON) format into a data object of a specified type.</summary>
<returns>The JSON-encoded data converted to the specified type.</returns>
<param name="value">The JSON-encoded string to convert.</param>
<param name="targetType">The type that the <paramref name="value" /> data should be converted to.</param>
</member>
<member name="M:System.Web.Helpers.Json.Encode(System.Object)">
<summary>Converts a data object to a string that is in the JavaScript Object Notation (JSON) format.</summary>
<returns>Returns a string of data converted to the JSON format.</returns>
<param name="value">The data object to convert.</param>
</member>
<member name="M:System.Web.Helpers.Json.Write(System.Object,System.IO.TextWriter)">
<summary>Converts a data object to a string in JavaScript Object Notation (JSON) format and adds the string to the specified <see cref="T:System.IO.TextWriter" /> object.</summary>
<param name="value">The data object to convert.</param>
<param name="writer">The object that contains the converted JSON data.</param>
</member>
<member name="T:System.Web.Helpers.ObjectInfo">
<summary>Renders the property names and values of the specified object and of any subobjects that it references.</summary>
</member>
<member name="M:System.Web.Helpers.ObjectInfo.Print(System.Object,System.Int32,System.Int32)">
<summary>Renders the property names and values of the specified object and of any subobjects.</summary>
<returns>For a simple variable, returns the type and the value. For an object that contains multiple items, returns the property name or key and the value for each property.</returns>
<param name="value">The object to render information for.</param>
<param name="depth">Optional. Specifies the depth of nested subobjects to render information for. The default is 10.</param>
<param name="enumerationLength">Optional. Specifies the maximum number of characters that the method displays for object values. The default is 1000.</param>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="depth" /> is less than zero.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="enumerationLength" /> is less than or equal to zero.</exception>
</member>
<member name="T:System.Web.Helpers.ServerInfo">
<summary>Displays information about the web server environment that hosts the current web page.</summary>
</member>
<member name="M:System.Web.Helpers.ServerInfo.GetHtml">
<summary>Displays information about the web server environment.</summary>
<returns>A string of name-value pairs that contains information about the web server. </returns>
</member>
<member name="T:System.Web.Helpers.SortDirection">
<summary>Specifies the direction in which to sort a list of items.</summary>
</member>
<member name="F:System.Web.Helpers.SortDirection.Ascending">
<summary>Sort from smallest to largest —for example, from 1 to 10.</summary>
</member>
<member name="F:System.Web.Helpers.SortDirection.Descending">
<summary>Sort from largest to smallest — for example, from 10 to 1.</summary>
</member>
<member name="T:System.Web.Helpers.WebCache">
<summary>Provides a cache to store frequently accessed data.</summary>
</member>
<member name="M:System.Web.Helpers.WebCache.Get(System.String)">
<summary>Retrieves the specified item from the <see cref="T:System.Web.Helpers.WebCache" /> object.</summary>
<returns>The item retrieved from the cache, or null if the item is not found.</returns>
<param name="key">The identifier for the cache item to retrieve.</param>
</member>
<member name="M:System.Web.Helpers.WebCache.Remove(System.String)">
<summary>Removes the specified item from the <see cref="T:System.Web.Helpers.WebCache" /> object.</summary>
<returns>The item removed from the <see cref="T:System.Web.Helpers.WebCache" /> object. If the item is not found, returns null.</returns>
<param name="key">The identifier for the cache item to remove.</param>
</member>
<member name="M:System.Web.Helpers.WebCache.Set(System.String,System.Object,System.Int32,System.Boolean)">
<summary>Inserts an item into the <see cref="T:System.Web.Helpers.WebCache" /> object.</summary>
<param name="key">The identifier for the cache item.</param>
<param name="value">The data to insert into the cache.</param>
<param name="minutesToCache">Optional. The number of minutes to keep an item in the cache. The default is 20.</param>
<param name="slidingExpiration">Optional. true to indicate that the cache item expiration is reset each time the item is accessed, or false to indicate that the expiration is based the absolute time since the item was added to the cache. The default is true. In that case, if you also use the default value for the <paramref name="minutesToCache" /> parameter, a cached item expires 20 minutes after it was last accessed.</param>
<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="minutesToCache" /> is less than or equal to zero.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Sliding expiration is enabled and the value of <paramref name="minutesToCache" /> is greater than a year.</exception>
</member>
<member name="T:System.Web.Helpers.WebGrid">
<summary>Displays data on a web page using an HTML table element.</summary>
</member>
<member name="M:System.Web.Helpers.WebGrid.#ctor(System.Collections.Generic.IEnumerable{System.Object},System.Collections.Generic.IEnumerable{System.String},System.String,System.Int32,System.Boolean,System.Boolean,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebGrid" /> class.</summary>
<param name="source">The data to display.</param>
<param name="columnNames">A collection that contains the names of the data columns to display. By default, this value is auto-populated according to the values in the <paramref name="source" /> parameter.</param>
<param name="defaultSort">The name of the data column that is used to sort the grid by default.</param>
<param name="rowsPerPage">The number of rows that are displayed on each page of the grid when paging is enabled. The default is 10.</param>
<param name="canPage">true to specify that paging is enabled for the <see cref="T:System.Web.Helpers.WebGrid" /> instance; otherwise false. The default is true. </param>
<param name="canSort">true to specify that sorting is enabled for the <see cref="T:System.Web.Helpers.WebGrid" /> instance; otherwise, false. The default is true.</param>
<param name="ajaxUpdateContainerId">The value of the HTML id attribute that is used to mark the HTML element that gets dynamic Ajax updates that are associated with the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</param>
<param name="ajaxUpdateCallback">The name of the JavaScript function that is called after the HTML element specified by the <see cref="P:System.Web.Helpers.WebGrid.AjaxUpdateContainerId" /> property has been updated. If the name of a function is not provided, no function will be called. If the specified function does not exist, a JavaScript error will occur if it is invoked.</param>
<param name="fieldNamePrefix">The prefix that is applied to all query-string fields that are associated with the <see cref="T:System.Web.Helpers.WebGrid" /> instance. This value is used in order to support multiple <see cref="T:System.Web.Helpers.WebGrid" /> instances on the same web page.</param>
<param name="pageFieldName">The name of the query-string field that is used to specify the current page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</param>
<param name="selectionFieldName">The name of the query-string field that is used to specify the currently selected row of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</param>
<param name="sortFieldName">The name of the query-string field that is used to specify the name of the data column that the <see cref="T:System.Web.Helpers.WebGrid" /> instance is sorted by.</param>
<param name="sortDirectionFieldName">The name of the query-string field that is used to specify the direction in which the <see cref="T:System.Web.Helpers.WebGrid" /> instance is sorted.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.AddSorter``2(System.String,System.Linq.Expressions.Expression{System.Func{``0,``1}})">
<summary>Adds a specific sort function for a given column.</summary>
<returns>The current grid, with the new custom sorter applied.</returns>
<param name="columnName">The column name (as used for sorting)</param>
<param name="keySelector">The function used to select a key to sort by, for each element in the grid's source.</param>
<typeparam name="TElement">The type of elements in the grid's source.</typeparam>
<typeparam name="TProperty">The column type, usually inferred from the keySelector function's return type.</typeparam>
</member>
<member name="P:System.Web.Helpers.WebGrid.AjaxUpdateCallback">
<summary>Gets the name of the JavaScript function to call after the HTML element that is associated with the <see cref="T:System.Web.Helpers.WebGrid" /> instance has been updated in response to an Ajax update request.</summary>
<returns>The name of the function.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.AjaxUpdateContainerId">
<summary>Gets the value of the HTML id attribute that marks an HTML element on the web page that gets dynamic Ajax updates that are associated with the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The value of the id attribute.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Bind(System.Collections.Generic.IEnumerable{System.Object},System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.Int32)">
<summary>Binds the specified data to the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The bound and populated <see cref="T:System.Web.Helpers.WebGrid" /> instance.</returns>
<param name="source">The data to display.</param>
<param name="columnNames">A collection that contains the names of the data columns to bind.</param>
<param name="autoSortAndPage">true to enable sorting and paging of the <see cref="T:System.Web.Helpers.WebGrid" /> instance; otherwise, false.</param>
<param name="rowCount">The number of rows to display on each page of the grid.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.CanSort">
<summary>Gets a value that indicates whether the <see cref="T:System.Web.Helpers.WebGrid" /> instance supports sorting.</summary>
<returns>true if the instance supports sorting; otherwise, false.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Column(System.String,System.String,System.Func{System.Object,System.Object},System.String,System.Boolean)">
<summary>Creates a new <see cref="T:System.Web.Helpers.WebGridColumn" /> instance.</summary>
<returns>The new column.</returns>
<param name="columnName">The name of the data column to associate with the <see cref="T:System.Web.Helpers.WebGridColumn" /> instance.</param>
<param name="header">The text that is rendered in the header of the HTML table column that is associated with the <see cref="T:System.Web.Helpers.WebGridColumn" /> instance.</param>
<param name="format">The function that is used to format the data values that are associated with the <see cref="T:System.Web.Helpers.WebGridColumn" /> instance.</param>
<param name="style">A string that specifies the name of the CSS class that is used to style the HTML table cells that are associated with the <see cref="T:System.Web.Helpers.WebGridColumn" /> instance.</param>
<param name="canSort">true to enable sorting in the <see cref="T:System.Web.Helpers.WebGrid" /> instance by the data values that are associated with the <see cref="T:System.Web.Helpers.WebGridColumn" /> instance; otherwise, false. The default is true.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.ColumnNames">
<summary>Gets a collection that contains the name of each data column that is bound to the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The collection of data column names.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Columns(System.Web.Helpers.WebGridColumn[])">
<summary>Returns an array that contains the specified <see cref="T:System.Web.Helpers.WebGridColumn" /> instances.</summary>
<returns>An array of columns.</returns>
<param name="columnSet">A variable number of <see cref="T:System.Web.Helpers.WebGridColumn" /> column instances.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.FieldNamePrefix">
<summary>Gets the prefix that is applied to all query-string fields that are associated with the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The query-string field prefix of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetContainerUpdateScript(System.String)">
<summary>Returns a JavaScript statement that can be used to update the HTML element that is associated with the <see cref="T:System.Web.Helpers.WebGrid" /> instance on the specified web page.</summary>
<returns>A JavaScript statement that can be used to update the HTML element in a web page that is associated with the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</returns>
<param name="path">The URL of the web page that contains the <see cref="T:System.Web.Helpers.WebGrid" /> instance that is being updated. The URL can include query-string arguments.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetHtml(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Boolean,System.String,System.Collections.Generic.IEnumerable{System.Web.Helpers.WebGridColumn},System.Collections.Generic.IEnumerable{System.String},System.Web.Helpers.WebGridPagerModes,System.String,System.String,System.String,System.String,System.Int32,System.Object)">
<summary>Returns the HTML markup that is used to render the <see cref="T:System.Web.Helpers.WebGrid" /> instance and using the specified paging options.</summary>
<returns>The HTML markup that represents the fully-populated <see cref="T:System.Web.Helpers.WebGrid" /> instance.</returns>
<param name="tableStyle">The name of the CSS class that is used to style the whole table.</param>
<param name="headerStyle">The name of the CSS class that is used to style the table header.</param>
<param name="footerStyle">The name of the CSS class that is used to style the table footer.</param>
<param name="rowStyle">The name of the CSS class that is used to style each table row.</param>
<param name="alternatingRowStyle">The name of the CSS class that is used to style even-numbered table rows.</param>
<param name="selectedRowStyle">The name of the CSS class that is used to style the selected table row. (Only one row can be selected at a time.)</param>
<param name="caption">The table caption.</param>
<param name="displayHeader">true to display the table header; otherwise, false. The default is true.</param>
<param name="fillEmptyRows">true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the <paramref name="emptyRowCellValue" /> parameter.</param>
<param name="emptyRowCellValue">The text that is used to populate additional rows in a page when there are insufficient data items to fill the last page. The <paramref name="fillEmptyRows" /> parameter must be set to true to display these additional rows.</param>
<param name="columns">A collection of <see cref="T:System.Web.Helpers.WebGridColumn" /> instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains.</param>
<param name="exclusions">A collection that contains the names of the data columns to exclude when the grid auto-populates columns.</param>
<param name="mode">A bitwise combination of the enumeration values that specify methods that are provided for moving between pages of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</param>
<param name="firstText">The text for the HTML link element that is used to link to the first page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance. The <see cref="F:System.Web.Helpers.WebGridPagerModes.FirstLast" /> flag of the <paramref name="mode" /> parameter must be set to display this page navigation element.</param>
<param name="previousText">The text for the HTML link element that is used to link to previous page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance. The <see cref="F:System.Web.Helpers.WebGridPagerModes.NextPrevious" /> flag of the <paramref name="mode" /> parameter must be set to display this page navigation element.</param>
<param name="nextText">The text for the HTML link element that is used to link to the next page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance. The <see cref="F:System.Web.Helpers.WebGridPagerModes.NextPrevious" /> flag of the <paramref name="mode" /> parameter must be set to display this page navigation element.</param>
<param name="lastText">The text for the HTML link element that is used to link to the last page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance. The <see cref="F:System.Web.Helpers.WebGridPagerModes.FirstLast" /> flag of the <paramref name="mode" /> parameter must be set to display this page navigation element.</param>
<param name="numericLinksCount">The number of numeric page links that are provided to nearby <see cref="T:System.Web.Helpers.WebGrid" /> pages. The text of each numeric page link contains the page number. The <see cref="F:System.Web.Helpers.WebGridPagerModes.Numeric" /> flag of the <paramref name="mode" /> parameter must be set to display these page navigation elements.</param>
<param name="htmlAttributes">An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetPageUrl(System.Int32)">
<summary>Returns a URL that can be used to display the specified data page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>A URL that can be used to display the specified data page of the grid.</returns>
<param name="pageIndex">The index of the <see cref="T:System.Web.Helpers.WebGrid" /> page to display.</param>
</member>
<member name="M:System.Web.Helpers.WebGrid.GetSortUrl(System.String)">
<summary>Returns a URL that can be used to sort the <see cref="T:System.Web.Helpers.WebGrid" /> instance by the specified column.</summary>
<returns>A URL that can be used to sort the grid.</returns>
<param name="column">The name of the data column to sort by.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.HasSelection">
<summary>Gets a value that indicates whether a row in the <see cref="T:System.Web.Helpers.WebGrid" /> instance is selected.</summary>
<returns>true if a row is currently selected; otherwise, false.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.IsAjaxEnabled">
<summary>Returns a value that indicates whether the <see cref="T:System.Web.Helpers.WebGrid" /> instance can use Ajax calls to refresh the display.</summary>
<returns>true if the instance supports Ajax calls; otherwise, false..</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.PageCount">
<summary>Gets the number of pages that the <see cref="T:System.Web.Helpers.WebGrid" /> instance contains.</summary>
<returns>The page count.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.PageFieldName">
<summary>Gets the full name of the query-string field that is used to specify the current page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The full name of the query string field that is used to specify the current page of the grid.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.PageIndex">
<summary>Gets or sets the index of the current page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The index of the current page.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Pager(System.Web.Helpers.WebGridPagerModes,System.String,System.String,System.String,System.String,System.Int32)">
<summary>Returns the HTML markup that is used to provide the specified paging support for the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The HTML markup that provides paging support for the grid.</returns>
<param name="mode">A bitwise combination of the enumeration values that specify the methods that are provided for moving between the pages of the grid. The default is the bitwise OR of the <see cref="F:System.Web.Helpers.WebGridPagerModes.NextPrevious" /> and <see cref="F:System.Web.Helpers.WebGridPagerModes.Numeric" /> flags.</param>
<param name="firstText">The text for the HTML link element that navigates to the first page of the grid.</param>
<param name="previousText">The text for the HTML link element that navigates to the previous page of the grid.</param>
<param name="nextText">The text for the HTML link element that navigates to the next page of the grid.</param>
<param name="lastText">The text for the HTML link element that navigates to the last page of the grid.</param>
<param name="numericLinksCount">The number of numeric page links to display. The default is 5.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.Rows">
<summary>Gets a list that contains the rows that are on the current page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance after the grid has been sorted.</summary>
<returns>The list of rows.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.RowsPerPage">
<summary>Gets the number of rows that are displayed on each page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The number of rows that are displayed on each page of the grid.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SelectedIndex">
<summary>Gets or sets the index of the selected row relative to the current page of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The index of the selected row relative to the current page.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SelectedRow">
<summary>Gets the currently selected row of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The currently selected row.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SelectionFieldName">
<summary>Gets the full name of the query-string field that is used to specify the selected row of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The full name of the query string field that is used to specify the selected row of the grid.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortColumn">
<summary>Gets or sets the name of the data column that the <see cref="T:System.Web.Helpers.WebGrid" /> instance is sorted by.</summary>
<returns>The name of the data column that is used to sort the grid.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortDirection">
<summary>Gets or sets the direction in which the <see cref="T:System.Web.Helpers.WebGrid" /> instance is sorted.</summary>
<returns>The sort direction.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortDirectionFieldName">
<summary>Gets the full name of the query-string field that is used to specify the sort direction of the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The full name of the query string field that is used to specify the sort direction of the grid.</returns>
</member>
<member name="P:System.Web.Helpers.WebGrid.SortFieldName">
<summary>Gets the full name of the query-string field that is used to specify the name of the data column that the <see cref="T:System.Web.Helpers.WebGrid" /> instance is sorted by.</summary>
<returns>The full name of the query-string field that is used to specify the name of the data column that the grid is sorted by.</returns>
</member>
<member name="M:System.Web.Helpers.WebGrid.Table(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Boolean,System.Boolean,System.String,System.Collections.Generic.IEnumerable{System.Web.Helpers.WebGridColumn},System.Collections.Generic.IEnumerable{System.String},System.Func{System.Object,System.Object},System.Object)">
<summary>Returns the HTML markup that is used to render the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
<returns>The HTML markup that represents the fully-populated <see cref="T:System.Web.Helpers.WebGrid" /> instance.</returns>
<param name="tableStyle">The name of the CSS class that is used to style the whole table.</param>
<param name="headerStyle">The name of the CSS class that is used to style the table header.</param>
<param name="footerStyle">The name of the CSS class that is used to style the table footer.</param>
<param name="rowStyle">The name of the CSS class that is used to style each table row.</param>
<param name="alternatingRowStyle">The name of the CSS class that is used to style even-numbered table rows.</param>
<param name="selectedRowStyle">The name of the CSS class that is used use to style the selected table row.</param>
<param name="caption">The table caption.</param>
<param name="displayHeader">true to display the table header; otherwise, false. The default is true.</param>
<param name="fillEmptyRows">true to insert additional rows in the last page when there are insufficient data items to fill the last page; otherwise, false. The default is false. Additional rows are populated using the text specified by the <paramref name="emptyRowCellValue" /> parameter.</param>
<param name="emptyRowCellValue">The text that is used to populate additional rows in the last page when there are insufficient data items to fill the last page. The <paramref name="fillEmptyRows" /> parameter must be set to true to display these additional rows.</param>
<param name="columns">A collection of <see cref="T:System.Web.Helpers.WebGridColumn" /> instances that specify how each column is displayed. This includes which data column is associated with each grid column, and how to format the data values that each grid column contains.</param>
<param name="exclusions">A collection that contains the names of the data columns to exclude when the grid auto-populates columns.</param>
<param name="footer">A function that returns the HTML markup that is used to render the table footer.</param>
<param name="htmlAttributes">An object that represents a collection of attributes (names and values) to set for the HTML table element that represents the <see cref="T:System.Web.Helpers.WebGrid" /> instance.</param>
</member>
<member name="P:System.Web.Helpers.WebGrid.TotalRowCount">
<summary>Gets the total number of rows that the <see cref="T:System.Web.Helpers.WebGrid" /> instance contains.</summary>
<returns>The total number of rows in the grid. This value includes all rows from every page, but does not include the additional rows inserted in the last page when there are insufficient data items to fill the last page.</returns>
</member>
<member name="T:System.Web.Helpers.WebGridColumn">
<summary>Represents a column in a <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
</member>
<member name="M:System.Web.Helpers.WebGridColumn.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebGridColumn" /> class.</summary>
</member>
<member name="P:System.Web.Helpers.WebGridColumn.CanSort">
<summary>Gets or sets a value that indicates whether the <see cref="T:System.Web.Helpers.WebGrid" /> column can be sorted.</summary>
<returns>true to indicate that the column can be sorted; otherwise, false.</returns>
</member>
<member name="P:System.Web.Helpers.WebGridColumn.ColumnName">
<summary>Gets or sets the name of the data item that is associated with the <see cref="T:System.Web.Helpers.WebGrid" /> column.</summary>
<returns>The name of the data item.</returns>
</member>
<member name="P:System.Web.Helpers.WebGridColumn.Format">
<summary>Gets or sets a function that is used to format the data item that is associated with the <see cref="T:System.Web.Helpers.WebGrid" /> column.</summary>
<returns>The function that is used to format that data item that is associated with the column.</returns>
</member>
<member name="P:System.Web.Helpers.WebGridColumn.Header">
<summary>Gets or sets the text that is rendered in the header of the <see cref="T:System.Web.Helpers.WebGrid" /> column.</summary>
<returns>The text that is rendered to the column header.</returns>
</member>
<member name="P:System.Web.Helpers.WebGridColumn.Style">
<summary>Gets or sets the CSS class attribute that is rendered as part of the HTML table cells that are associated with the <see cref="T:System.Web.Helpers.WebGrid" /> column.</summary>
<returns>The CSS class attribute that is applied to cells that are associated with the column.</returns>
</member>
<member name="T:System.Web.Helpers.WebGridPagerModes">
<summary>Specifies flags that describe the methods that are provided for moving between the pages of a <see cref="T:System.Web.Helpers.WebGrid" /> instance.This enumeration has a <see cref="T:System.FlagsAttribute" /> attribute that allows a bitwise combination of its member values.</summary>
</member>
<member name="F:System.Web.Helpers.WebGridPagerModes.All">
<summary>Indicates that all methods for moving between <see cref="T:System.Web.Helpers.WebGrid" /> pages are provided.</summary>
</member>
<member name="F:System.Web.Helpers.WebGridPagerModes.FirstLast">
<summary>Indicates that methods for moving directly to the first or last <see cref="F:System.Web.Helpers.WebGrid" /> page are provided.</summary>
</member>
<member name="F:System.Web.Helpers.WebGridPagerModes.NextPrevious">
<summary>Indicates that methods for moving to the next or previous <see cref="F:System.Web.Helpers.WebGrid" /> page are provided.</summary>
</member>
<member name="F:System.Web.Helpers.WebGridPagerModes.Numeric">
<summary>Indicates that methods for moving to a nearby <see cref="F:System.Web.Helpers.WebGrid" /> page by using a page number are provided.</summary>
</member>
<member name="T:System.Web.Helpers.WebGridRow">
<summary>Represents a row in a <see cref="T:System.Web.Helpers.WebGrid" /> instance.</summary>
</member>
<member name="M:System.Web.Helpers.WebGridRow.#ctor(System.Web.Helpers.WebGrid,System.Object,System.Int32)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebGridRow" /> class using the specified <see cref="T:System.Web.Helpers.WebGrid" /> instance, row value, and index.</summary>
<param name="webGrid">The <see cref="T:System.Web.Helpers.WebGrid" /> instance that contains the row.</param>
<param name="value">An object that contains a property member for each value in the row.</param>
<param name="rowIndex">The index of the row.</param>
</member>
<member name="M:System.Web.Helpers.WebGridRow.GetEnumerator">
<summary>Returns an enumerator that can be used to iterate through the values of the <see cref="T:System.Web.Helpers.WebGridRow" /> instance.</summary>
<returns>An enumerator that can be used to iterate through the values of the row.</returns>
</member>
<member name="M:System.Web.Helpers.WebGridRow.GetSelectLink(System.String)">
<summary>Returns an HTML element (a link) that users can use to select the row.</summary>
<returns>The link that users can click to select the row.</returns>
<param name="text">The inner text of the link element. If <paramref name="text" /> is empty or null, "Select" is used.</param>
</member>
<member name="M:System.Web.Helpers.WebGridRow.GetSelectUrl">
<summary>Returns the URL that can be used to select the row.</summary>
<returns>The URL that is used to select a row.</returns>
</member>
<member name="P:System.Web.Helpers.WebGridRow.Item(System.Int32)">
<summary>Returns the value at the specified index in the <see cref="T:System.Web.Helpers.WebGridRow" /> instance.</summary>
<returns>The value at the specified index.</returns>
<param name="index">The zero-based index of the value in the row to return.</param>
<exception cref="T:System.ArgumentOutOfRangeException">
<paramref name="index" /> is less than 0 or greater than or equal to the number of values in the row.</exception>
</member>
<member name="P:System.Web.Helpers.WebGridRow.Item(System.String)">
<summary>Returns the value that has the specified name in the <see cref="T:System.Web.Helpers.WebGridRow" /> instance.</summary>
<returns>The specified value.</returns>
<param name="name">The name of the value in the row to return.</param>
<exception cref="T:System.ArgumentException">
<paramref name="name" /> is Nothing or empty.</exception>
<exception cref="T:System.InvalidOperationException">
<paramref name="name" /> specifies a value that does not exist.</exception>
</member>
<member name="M:System.Web.Helpers.WebGridRow.System#Collections#IEnumerable#GetEnumerator">
<summary>Returns an enumerator that can be used to iterate through a collection.</summary>
<returns>An enumerator that can be used to iterate through the collection.</returns>
</member>
<member name="M:System.Web.Helpers.WebGridRow.ToString">
<summary>Returns a string that represents all of the values of the <see cref="T:System.Web.Helpers.WebGridRow" /> instance.</summary>
<returns>A string that represents the row's values.</returns>
</member>
<member name="M:System.Web.Helpers.WebGridRow.TryGetMember(System.Dynamic.GetMemberBinder,System.Object@)">
<summary>Returns the value of a <see cref="T:System.Web.Helpers.WebGridRow" /> member that is described by the specified binder.</summary>
<returns>true if the value of the item was successfully retrieved; otherwise, false.</returns>
<param name="binder">The getter of the bound property member.</param>
<param name="result">When this method returns, contains an object that holds the value of the item described by <paramref name="binder" />. This parameter is passed uninitialized.</param>
</member>
<member name="P:System.Web.Helpers.WebGridRow.Value">
<summary>Gets an object that contains a property member for each value in the row.</summary>
<returns>An object that contains each value in the row as a property.</returns>
</member>
<member name="P:System.Web.Helpers.WebGridRow.WebGrid">
<summary>Gets the <see cref="T:System.Web.Helpers.WebGrid" /> instance that the row belongs to.</summary>
<returns>The <see cref="T:System.Web.Helpers.WebGrid" /> instance that contains the row.</returns>
</member>
<member name="T:System.Web.Helpers.WebImage">
<summary>Represents an object that lets you display and manage images in a web page.</summary>
</member>
<member name="M:System.Web.Helpers.WebImage.#ctor(System.Byte[])">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebImage" /> class using a byte array to represent the image.</summary>
<param name="content">The image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.#ctor(System.IO.Stream)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebImage" /> class using a stream to represent the image.</summary>
<param name="imageStream">The image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.#ctor(System.String)">
<summary>Initializes a new instance of the <see cref="T:System.Web.Helpers.WebImage" /> class using a path to represent the image location.</summary>
<param name="filePath">The path of the file that contains the image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.AddImageWatermark(System.String,System.Int32,System.Int32,System.String,System.String,System.Int32,System.Int32)">
<summary>Adds a watermark image using a path to the watermark image.</summary>
<returns>The watermarked image.</returns>
<param name="watermarkImageFilePath">The path of a file that contains the watermark image.</param>
<param name="width">The width, in pixels, of the watermark image.</param>
<param name="height">The height, in pixels, of the watermark image.</param>
<param name="horizontalAlign">The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center".</param>
<param name="verticalAlign">The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom".</param>
<param name="opacity">The opacity for the watermark image, specified as a value between 0 and 100.</param>
<param name="padding">The size, in pixels, of the padding around the watermark image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.AddImageWatermark(System.Web.Helpers.WebImage,System.Int32,System.Int32,System.String,System.String,System.Int32,System.Int32)">
<summary>Adds a watermark image using the specified image object.</summary>
<returns>The watermarked image.</returns>
<param name="watermarkImage">A <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
<param name="width">The width, in pixels, of the watermark image.</param>
<param name="height">The height, in pixels, of the watermark image.</param>
<param name="horizontalAlign">The horizontal alignment for watermark image. Values can be "Left", "Right", or "Center".</param>
<param name="verticalAlign">The vertical alignment for the watermark image. Values can be "Top", "Middle", or "Bottom".</param>
<param name="opacity">The opacity for the watermark image, specified as a value between 0 and 100.</param>
<param name="padding">The size, in pixels, of the padding around the watermark image.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.AddTextWatermark(System.String,System.String,System.Int32,System.String,System.String,System.String,System.String,System.Int32,System.Int32)">
<summary>Adds watermark text to the image.</summary>
<returns>The watermarked image.</returns>
<param name="text">The text to use as a watermark.</param>
<param name="fontColor">The color of the watermark text.</param>
<param name="fontSize">The font size of the watermark text.</param>
<param name="fontStyle">The font style of the watermark text.</param>
<param name="fontFamily">The font type of the watermark text.</param>
<param name="horizontalAlign">The horizontal alignment for watermark text. Values can be "Left", "Right", or "Center".</param>
<param name="verticalAlign">The vertical alignment for the watermark text. Values can be "Top", "Middle", or "Bottom".</param>
<param name="opacity">The opacity for the watermark image, specified as a value between 0 and 100.</param>
<param name="padding">The size, in pixels, of the padding around the watermark text.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.Clone">
<summary>Copies the <see cref="T:System.Web.Helpers.WebImage" /> object.</summary>
<returns>The image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Crop(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>Crops an image.</summary>
<returns>The cropped image.</returns>
<param name="top">The number of pixels to remove from the top.</param>
<param name="left">The number of pixels to remove from the left.</param>
<param name="bottom">The number of pixels to remove from the bottom.</param>
<param name="right">The number of pixels to remove from the right.</param>
</member>
<member name="P:System.Web.Helpers.WebImage.FileName">
<summary>Gets or sets the file name of the <see cref="T:System.Web.Helpers.WebImage" /> object.</summary>
<returns>The file name.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.FlipHorizontal">
<summary>Flips an image horizontally.</summary>
<returns>The flipped image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.FlipVertical">
<summary>Flips an image vertically.</summary>
<returns>The flipped image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.GetBytes(System.String)">
<summary>Returns the image as a byte array.</summary>
<returns>The image.</returns>
<param name="requestedFormat">The <see cref="P:System.Web.Helpers.WebImage.ImageFormat" /> value of the <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.GetImageFromRequest(System.String)">
<summary>Returns an image that has been uploaded using the browser.</summary>
<returns>The image.</returns>
<param name="postedFileName">(Optional) The name of the file that has been posted. If no file name is specified, the first file that was uploaded is returned.</param>
</member>
<member name="P:System.Web.Helpers.WebImage.Height">
<summary>Gets the height, in pixels, of the image.</summary>
<returns>The height.</returns>
</member>
<member name="P:System.Web.Helpers.WebImage.ImageFormat">
<summary>Gets the format of the image (for example, "jpeg" or "png").</summary>
<returns>The file format of the image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Resize(System.Int32,System.Int32,System.Boolean,System.Boolean)">
<summary>Resizes an image.</summary>
<returns>The resized image.</returns>
<param name="width">The width, in pixels, of the <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
<param name="height">The height, in pixels, of the <see cref="T:System.Web.Helpers.WebImage" /> object.</param>
<param name="preserveAspectRatio">true to preserve the aspect ratio of the image; otherwise, false.</param>
<param name="preventEnlarge">true to prevent the enlargement of the image; otherwise, false.</param>
</member>
<member name="M:System.Web.Helpers.WebImage.RotateLeft">
<summary>Rotates an image to the left.</summary>
<returns>The rotated image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.RotateRight">
<summary>Rotates an image to the right.</summary>
<returns>The rotated image.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Save(System.String,System.String,System.Boolean)">
<summary>Saves the image using the specified file name.</summary>
<returns>The image.</returns>
<param name="filePath">The path to save the image to.</param>
<param name="imageFormat">The format to use when the image file is saved, such as "gif", or "png".</param>
<param name="forceCorrectExtension">true to force the correct file-name extension to be used for the format that is specified in <paramref name="imageFormat" />; otherwise, false. If there is a mismatch between the file type and the specified file-name extension, and if <paramref name="forceCorrectExtension" /> is true, the correct extension will be appended to the file name. For example, a PNG file named Photograph.txt is saved using the name Photograph.txt.png.</param>
</member>
<member name="P:System.Web.Helpers.WebImage.Width">
<summary>Gets the width, in pixels, of the image.</summary>
<returns>The width.</returns>
</member>
<member name="M:System.Web.Helpers.WebImage.Write(System.String)">
<summary>Renders an image to the browser.</summary>
<returns>The image.</returns>
<param name="requestedFormat">(Optional) The file format to use when the image is written.</param>
</member>
<member name="T:System.Web.Helpers.WebMail">
<summary>Provides a way to construct and send an email message using Simple Mail Transfer Protocol (SMTP).</summary>
</member>
<member name="P:System.Web.Helpers.WebMail.EnableSsl">
<summary>Gets or sets a value that indicates whether Secure Sockets Layer (SSL) is used to encrypt the connection when an email message is sent.</summary>
<returns>true if SSL is used to encrypt the connection; otherwise, false.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.From">
<summary>Gets or sets the email address of the sender.</summary>
<returns>The email address of the sender.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.Password">
<summary>Gets or sets the password of the sender's email account.</summary>
<returns>The sender's password.</returns>
</member>
<member name="M:System.Web.Helpers.WebMail.Send(System.String,System.String,System.String,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.Collections.Generic.IEnumerable{System.String},System.String,System.String,System.String,System.String,System.String)">
<summary>Sends the specified message to an SMTP server for delivery.</summary>
<param name="to">The email address of the recipient or recipients. Separate multiple recipients using a semicolon (;).</param>
<param name="subject">The subject line for the email message.</param>
<param name="body">The body of the email message. If <paramref name="isBodyHtml" /> is true, HTML in the body is interpreted as markup.</param>
<param name="from">(Optional) The email address of the message sender, or null to not specify a sender. The default value is null.</param>
<param name="cc">(Optional) The email addresses of additional recipients to send a copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null.</param>
<param name="filesToAttach">(Optional) A collection of file names that specifies the files to attach to the email message, or null if there are no files to attach. The default value is null.</param>
<param name="isBodyHtml">(Optional) true to specify that the email message body is in HTML format; false to indicate that the body is in plain-text format. The default value is true.</param>
<param name="additionalHeaders">(Optional) A collection of headers to add to the normal SMTP headers included in this email message, or null to send no additional headers. The default value is null.</param>
<param name="bcc">(Optional) The email addresses of additional recipients to send a "blind" copy of the message to, or null if there are no additional recipients. Separate multiple recipients using a semicolon (;). The default value is null.</param>
<param name="contentEncoding">(Optional) The encoding to use for the body of the message. Possible values are property values for the <see cref="T:System.Text.Encoding" /> class, such as <see cref="P:System.Text.Encoding.UTF8" />. The default value is null.</param>
<param name="headerEncoding">(Optional) The encoding to use for the header of the message. Possible values are property values for the <see cref="T:System.Text.Encoding" /> class, such as <see cref="P:System.Text.Encoding.UTF8" />. The default value is null.</param>
<param name="priority">(Optional) A value ("Normal", "Low", "High") that specifies the priority of the message. The default is "Normal".</param>
<param name="replyTo">(Optional) The email address that will be used when the recipient replies to the message. The default value is null, which indicates that the reply address is the value of the From property. </param>
</member>
<member name="P:System.Web.Helpers.WebMail.SmtpPort">
<summary>Gets or sets the port that is used for SMTP transactions.</summary>
<returns>The port that is used for SMTP transactions.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.SmtpServer">
<summary>Gets or sets the name of the SMTP server that is used to transmit the email message.</summary>
<returns>The SMTP server.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.SmtpUseDefaultCredentials">
<summary>Gets or sets a value that indicates whether the default credentials are sent with the requests.</summary>
<returns>true if credentials are sent with the email message; otherwise, false.</returns>
</member>
<member name="P:System.Web.Helpers.WebMail.UserName">
<summary>Gets or sets the name of email account that is used to send email.</summary>
<returns>The name of the user account.</returns>
</member>
</members>
</doc>

Some files were not shown because too many files have changed in this diff Show more