- Right click on Recycle Bin, select Properties
- check Display delete confirmation dialog
Attempting to start the Interactive Service Detection (UI0Detect) service on Windows 8 and Windows Server 2012 can fail with the incomprehensible “Error 1: Incorrect function” message:
This is because Microsoft has disabled interactive services in these new operating systems!
Fortunately, it is easy to re-enable interactive services by editing the registry:
- start regedit
- Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Windows on the left side
- On the right, double-click the NoInteractiveServices entry and change its value from 1 to 0
- Click OK to record your change
- Close the registry editor
This utility, which has the most comprehensive knowledge of auto-starting locations of any startup monitor, shows you what programs are configured to run during system bootup or login, and shows you the entries in the order Windows processes them. These programs include ones in your startup folder, Run, RunOnce, and other Registry keys. You can configure Autoruns to show other locations, including Explorer shell extensions, toolbars, browser helper objects, Winlogon notifications, auto-start services, and much more. Autoruns goes way beyond the MSConfig utility bundled with Windows Me and XP.
Autoruns‘ Hide Signed Microsoft Entries option helps you to zoom in on third-party auto-starting images that have been added to your system and it has support for looking at the auto-starting images configured for other accounts configured on a system. Also included in the download package is a command-line equivalent that can output in CSV format, Autorunsc.
You’ll probably be surprised at how many executables are launched automatically!
Because I don’t want to have 2 solutions (one on Visual Studio 2003 for the .NET 1.1 assemblies and another onVisual Studio 2008 for the .NET 2.0 assemblies) I decide to try using MSBee and have only one Visual Studio2008 solution.
MSBee has a CodePlex project. You can download it from there or from Microsoft Downloads. Because the build on Microsoft Downloads seemed to be the most stable one, that was the one I downloaded and installed. The package comes with a Word document that explains all that needs to be done.
Before you can install and use MSBee you’ll need to install the .NET 1.1 SDK.
Having everything installed, I just opened the Visual Studio 2003 solution in Visual Studio 2008 and let it convert the solution and projects (near 30).
After the conversion, for building the projects with the .NET 1.1 C# compiler, the project files need to be edited to add the override the default targets with the MSBee ones by adding the MSBee imports after the default imports for the language:
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.CSharp.targets" />
Another change needed (for Visual Studio 2008 – I don’t know if it was needed for Visual Studio 2005) is the tools version. MSBee needs version 2.0. To change that you’ll have to change the ToolsVersion attribute of the project’s root element:
<Project DefaultTargets="Build" ToolsVersion="2.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
MSBee likes has own idea about output paths and I had set up custom output paths on my project. There’s information about this on the documentation but I decided to simply comment that out of the $(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.Common.targets file:
<!--<span class="code-comment"> Paulo <Choose> <When Condition=" '$(BaseFX1_1OutputPath)' == '' "> <PropertyGroup> <OutputPath>bin\FX1_1\</OutputPath> </PropertyGroup> </When> <Otherwise> <PropertyGroup> <OutputPath>$(BaseFX1_1OutputPath)</OutputPath> <OutputPath Condition=" !HasTrailingSlash('$(OutputPath)') ">$(OutputPath)\</OutputPath> </PropertyGroup> </Otherwise> </Choose> --></span> <!--<span class="code-comment"> Paulo <PropertyGroup> <BaseIntermediateOutputPath>obj\FX1_1\</BaseIntermediateOutputPath> <IntermediateOutputPath Condition=" '$(PlatformName)' == 'AnyCPU' ">$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath> <IntermediateOutputPath Condition=" '$(PlatformName)' != 'AnyCPU' ">$(BaseIntermediateOutputPath)$(PlatformName)\$(Configuration)\</IntermediateOutputPath> <OutputPath Condition=" '$(PlatformName)' == 'AnyCPU' ">$(OutputPath)$(Configuration)\</OutputPath> <OutputPath Condition=" '$(PlatformName)' != 'AnyCPU' ">$(OutputPath)$(PlatformName)\$(Configuration)\</OutputPath> <- Once OutputPath is determined, set OutDir to its value. -> <OutDir>$(OutputPath)</OutDir> </PropertyGroup> --></span>
This all seemed to work fine on my old Windows XP machine without any third party Visual Studio plug-ins, but when I tried it on my Windows Vista X64 machine, I came across some problems:
Because I’m using Infragistics‘ controls, there’s a licences.licx file and the build will compile it. And that proved to be a problem.
MSBee copies all the files it needs to the build process to a temporary folder, builds it in there and then copies the result to the output path.
LC.exe seemed to never be able to find all the assemblies it needed. Searching seemed to me to be an old issue (even from the .NET 1.1 times) and the solution always pointed to not compile the license file. So, I commented that part out of the $(MSBuildExtensionsPath)\MSBee\MSBuildExtras.FX1_1.Common.targets file:
<Target Name="CompileLicxFiles" Condition="'@(_LicxFile)'!=''" DependsOnTargets="$(CompileLicxFilesDependsOn)" Inputs="$(MSBuildAllProjects);@(_LicxFile);@(ReferencePath);@(ReferenceDependencyPaths)" Outputs="$(IntermediateOutputPath)$(TargetFileName).licenses"> <!--<span class="code-comment"> <LC Sources="@(_LicxFile)" LicenseTarget="$(TargetFileName)" OutputDirectory="$(IntermediateOutputPath)" OutputLicense="$(IntermediateOutputPath)$(TargetFileName).licenses" ReferencedAssemblies="@(ReferencePath);@(ReferenceDependencyPaths)" ToolPath="$(TargetFrameworkSDKDirectory)bin\"> <Output TaskParameter="OutputLicense" ItemName="CompiledLicenseFile"/> <Output TaskParameter="OutputLicense" ItemName="FileWrites"/> </LC> --></span> </Target>
Although this worked fine on the command line, inside Visual Studio ResGen.exe would throw some error and needed to be closed.
Looking at the Windows Application Log I found out this:
Faulting application Resgen.exe, version 1.1.4322.573, time stamp 0x3e559b5f, faulting module MockWeaver.dll, version 0.0.0.0, time stamp 0x4adb072e, exception code 0xc0000005, fault offset 0x00018fac, process id 0x4a50, application start time 0x01ca53c14488a2fb.
MockWeaver.dll belongs to Isolator and I just disable it when building inside Visual Studio. I was hoping to start using Isolator on this project, but, for now, I can’t.
I hope this can be of some help and, if you need more, you’ll probably find it at the MSBee’s CodePlex forum.
The bottom line is: You don’t need Visual Studio 2003!
1. After installation completed, ImagePath ASP.Net State Service will be changed, you can restore it to: %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\aspnet_state.exe
2. You may need to add Hanlder Mapping for 1.1 Isapi
Step 1: Install IIS and IIS 6 Metabase Compatibility
Open Server Manager and click on Roles. In the right pane click Add Roles, click Next on the Before You Begin Screen. You will be presented with a screen for selecting the Roles. Select Web Server (IIS) and click Next and Next again.
You will be presented with additional components to install, for our selection pick Application Development and Management Tools. The Management Tools selection will add the IIS 6 Metabase Compatibility needed for .NET 1.1. Click next when the selections are completed and Install at the confirmation screen. Click close when completed.
Step 2: Install the .NET Framework v1.1 and .NET Framework v1.1 SP1
Framework v1.1, v1.1 SP1 and ASP.NET update can be found at can be found at Install Framework v1.1, SP1, and ASP.NET’s security update to SP1:
- .NET Framework Version 1.1 Redistributable Package
- .NET Framework Version 1.1 Service Pack 1
- ASP.NET Security Update for .NET Framework 1.1 SP1
When you install .NET Framework Version 1.1, and SP1 for .NET Framework Version 1.1, you’ll see the following dialog. Click Run program.
Next install .NET Framework Version 1.1 Service Pack 1. Double-click on NDP1.1sp1-KB867460-X86 to start the installation. As with .NET Framework Version 1.1 you will receive the Program Compatibility popup, click Run Program to continue.
Finally, install ASP.NET Security update by double-clicking in NDP1.1sp1-KB886903-X86 to start the installation. As with .NET Framework Version 1.1 you will receive the Program Compatibility popup, click Run Program to continue.
note: If you do not install Framework v1.1 SP1, you may run into Data Execution Prevention errors with messages like “IIS Worker Process has stopped working”. This is expected. Installing .NET Framework v1.1 SP1 will fix this.
Step 3: Enable ASP.NET v1.1 ISAPI Extension
Enable ASP.NET v1.1 ISAPI as an allowed ISAPI extension. To do this, open “IIS Manager” administration tool. In the features view, click on the “ISAPI and CGI Restrictions” feature. In the actions pane, click “add”
You will see ASP.NET v1.1.4322 with the restriction of Not Allowed. We need to allow this feature by clicking on it and clicking Allow in the actions pane.
You can also do by running the following command line:
Step 4: Add IgnoreSection Handler to v1.1 machine.config
ASP.NET v1.1 will throw runtime exceptions out of the box if you have IIS configuration in the web.config files that are read by your ASP.NET v1.1 applications. To make ASP.NET v1.1 ignore IIS configuration sections, open the Framework v1.1 machine.config file (%windir%\Microsoft.NET\Framework\v1.1.4322\config\machine.config) and add the following section entry just above the bottom tag for the <configSections> element:
<section name=”system.webServer” type=”System.Configuration.IgnoreSectionHandler,
System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089″ />
Step 5: Move Site or Application to ASP.NET 1.1 Application Pool
During installation, Framework v1.1 creates an application pool called “ASP.NET 1.1″ that is configured to load Framework v1.1 upon startup. You can also do this from the command line by navigating to the %windir%\system32\inetsrv directory and running the following command line:
appcmd set app “Default Web Site/” /applicationPool:”ASP.NET 1.1″
If you would like to create a new application pool that’s configured to load Framework v1.1, you can also do this from the command line by navigating to the %windir%\system32\inetsrv directory and running the following command line:
appcmd add apppool /name:”NewPool” /managedRuntimeVersion:”v1.1″
When you opening connection to Oracle database in web project of Visual Studio 2008, you always get below error:
ORA-12154: TNS:could not resolve the connect identifier specified
But your tnsnames.ora is correct, sqlplus or other projects (like console/win form) can connect successfully.
Upgrade Oracle 10g Client to 10.2.0.3 or upper to fix this strange bug.
Run setup with below parameter:
-ignoreSysprereqs: ignore prerequisite checks
-ignorePrereq: ignore other prerequisites?