Similar to this question, Visual Studio 2013 High DPI on a 4k screen to which I sent an answer, but now removed from the problem below.
I also just bought a new 4K laptop and ran into high DPI issues with displaying the designer of SSIS packages and dialogs in VS2013, as well as dialogs, etc. in SSMS.
The workaround I found for SSMS is to enable bitmap scaling and create a manifest file - ssms.exe.manifest - in the same folder as ssms.exe.
This article describes how to fix this for SSMS.
http://www.sqlservercentral.com/blogs/spaghettidba/2015/10/14/ssms-in-high-dpi-displays-how-to-stop-the-madness/
For completeness, I duplicated the process described in the article.
Set this registry key:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide] "PreferExternalManifest"=dword:00000001
And then paste this xml into the manifest file.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"> </assemblyIdentity> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="amd64" publicKeyToken="1fc8b3b9a1e18e3b"> </assemblyIdentity> </dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings">false</ms_windowsSettings:dpiAware> </asmv3:windowsSettings> </asmv3:application> </assembly>
Now this works fine (so far) for SSMS, so I tried applying this hotfix to VS2013. Although it fixes the issue of displaying the SSIS constructor, it causes a problem when trying to start the debugger. In addition, this affects the debugging of other types of projects - C #, VB, as well as SSIS projects.
I assume that the dependencies in the manifest are incomplete or inaccurate, since 0x80040155 is a COM code, not a registered error code.
Unable to start debugging. An error occurred that usually indicates a corrupt installation (code 0x80040155). If the problem persists, repair your Visual Studio installation via 'Add or Remove Programs' in Control Panel. (Microsoft Visual Studio Debugger) Unable to start debugging. The debugger is not properly installed. Run setup to install or repair the debugger. (Microsoft.DataTransformationServices.VsIntegration)
So my question is: can someone suggest a suitable manifest for VS2013 (or another way to make the SSIS constructor behave)?