Monogame: no sound effects until DirectX reinstalled. - directx

Environment: Windows 10 (fresh install), using Monogame 3.6 (same goes for 3.5 for this matter) on DirectX projects.
Problem: I can’t hear any sound effect unless I reinstall DirectX.
Before reinstalling DirectX, there is no exception or status information I could use to trace why the sound is not audible. After reinstalling, it just works. Same code, even same binary.
I don’t want my users to have to reinstall DX. This will be awkward as Win10 comes with DX pre-installed.
So I wonder if someone knows which additional DX libraries I may include in project folder so that the sound effects are audible without reinstalling DX?

It's important to understand that you cannot "Install DirectX" on Windows 10 or any version of Windows back to Windows XP Service Pack 2. The DirectX End-User Runtime package (a.k.a DXSETUP) doesn't actually install Direct3D, DirectPlay, DirectSound, etc. It doesn't even include the CABs needed to install DirectX on older versions of Windows.
Not So Direct Setup
The version of "DirectX" installed is only ever updated via Windows Update, installing a new version of Windows, or some kind of Service Pack. Windows 10 includes all supported components of DirectX 9.0c, DirectX 10.x, DirectX 11.x, and DirectX 12.0 as part of the OS.
Direct3D 11 Deployment for Game Developers
What the DirectX End-User Runtime package does install is the various legacy side-by-side helper components: D3DX9, D3DX10, D3DX12, XAUDIO2.7 or earlier, XINPUT 1.3 or earlier, XACTENGINE, and the legacy Managed DirectX 1.1 assemblies. That's it. Furthermore, it installs about 100 MB of these things including every version that has ever shipped for both x86 and x64, which means your game is never going to use most of them. Likely Monogame is set up to use XAudio 2.7 which is the last version of XAudio to support Windows 7. As such, it needs just a handful of CABs from DXSETUP.
KB179113: How to install the latest version of DirectX
XAudio2 and Windows 8
Finally, the DXSETUP files that shipped in the end-of-life DirectX SDK (June 2010) are actually not the latest version of the DirectX End-User Runtime. I fixed a number of bugs in an online only April 2011 refresh.
DXSETUP Update

Related

DirectX SDK (June 2010) Installation: Error Code S1023

So I got error S1023 for my installation. I don't want to install the SDK anymore on this computer but the installer left programs that now i can't uninstall. EX:DirectX Control Panel. Tried running the uninstaller located in C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\system\uninstall but it says i need to launch it from the control panel. Directx SDK doesn't even show up on the control panel!! What do i do ?
The legacy DirectX SDK has a few known issues including the one that gives rise to S1023. See this blog post.
You can just delete the folder and then remove any short-cuts that no longer work.
Note that the latest versions of DirectX Control Panel are included in the Windows SDK.

Is there a way to use DirectX 11 in Windows 7?

I was trying to start to learn programming in DirectX 11, but I'm still using Windows 7 OS. My IDE is Visual Studio Community 2019 and I've tried to create a DirectX 11 project, but I got the error message saying that I need to upgrade my system to Windows 10 to be able to use this feature. I've downloaded Microsoft Development Kit, SDK and another extensions VS offered to me thinking it would actually work, but it didnt. I'm sorry if this seems a silly question, but I'm new on this and I would find it a great help if someone is able to tell me what I'm doing wrong or if there is really not other way to program in DirectX 11 on windows 7.
As noted by Simon in the comments, the "DirectX" templates built-in to VS 2019 are for Universal Windows Platform (UWP) apps only which requires Windows 10.
I maintain a number of similar templates for UWP and Win32 for DirectX 11 & DirectX 12 on GitHub.
Windows 7 supports DirectX 11.0.
Windows 7 can support DirectX 11.1 "software features" but not "hardware features" with KB2670838. Basically this means you won't get D3D_FEATURE_LEVEL_11_1. See Microsoft Docs. Most any Windows 7 system that's updated from Windows Update should have it.
My Win32 templates assume you have DirectX 11.1 these days. For the details on handling DirectX 11.0, see this blog post.
VS 2019 can support targeting Windows 7 Service Pack 1 for Win32 desktop development. Officially Windows 7 RTM is not supported.
VS 2019 comes with the Windows 10 SDK which includes everything you need for basic Direct3D 11 system headers and libraries. You do not need the legacy DirectX SDK at all. That said, if your learning materials still reference legacy stuff like D3DX11, you can install it but beware there are some special setup details. See Microsoft Docs.
For XAudio2 on Windows 7 SP1, use the XAudio2Redist instead of the legacy DirectX SDK. For XInput, you can use the basic XInput 9.1.0 which is built-in to Windows 7.
You may want to take a look at the DirectX Tool Kit tutorials.

Offline Installer / Fixed Version Installer for WebView2 Runtime

The road map seems rather intransparent to me. Is this planned? Is there any info on a potential release date? We require to use WebView2 on machines that aren't necessarily connected to the internet. The full browser would not be needed, which is why the idea of WebView2 Runtime seems like the way to go. As of right now however the installer needs to connect to the internet.
I work on the WebView2 project. The installer you linked to is actually the standalone evergreen installer that can be used entirely offline :). If the device is online, the installed runtime will try to update itself, but offline it works fine too just not getting any updates. If you run a later version of the installer when a older version is already installed, the installer will update the version of WebView2 Runtime on the device (this is basically how you can update the evergreen runtime offline). Right now the Runtime and installer are under preview and we strongly advise against redistributing it outside your org/company. We are targeting Q4 this year for GA.
Fixed version is not out for preview yet. You can find our roadmap with dates on https://learn.microsoft.com/en-us/microsoft-edge/webview2/roadmap.

Delphi XE4: target linux desktop? (gui application)

I am embarking on a cross platform app, but not mobile. It will be win/osx/linux. Would love to use Delphi + firemonkey, but it appears linux is not a possible target?
The GUI will not be extensive. Most of the code is non visual.
What are my options here? (Do I end up using lazerous for the linux side.... and then I have to have a special UI there?)
Please let me know my options here, how to solve this cross platform dev project (and hopefully avoid c++).
Linux is not currently one of the supported operating systems, as can clearly be seen from the product description on the Embarcadero web site. If you need Linux/Unix support, XE4 and FireMonkey aren't an option. (XE4 supports Win32, Win64, OSX, and iOS.)
There's support for Linux planned at some point in the future (after Android, which is currently being developed and slated for release later this year).

Is it possible to install Delphi 7 on Win 7?

I am planning to upgrade my OS to Win 7 (32bit or 64bit). I would like to know whether we can install and run Delphi 7 on Win 7 successfully or not.Share your thoughts on installation of 3rd party components as well.
This would help me to take decision regarding OS up-gradation.
I am using Delphi 7.0 on Windows 7, 64 bit, without issues. I have previously installed it on Windows 7, 32 bit and used it without issues as well.
Windows will bother you about an incompatibility when you run the installer. You should probably ensure that anybody using Delphi 7 will have full write access to the folders in Program Files that need to be writeable by Delphi 7.
I have my copy installed in Program Files, and I only use it from an account with admin priveleges, so I can write/modify files inside the Delphi installed folders, without problems.
Some people think it's better to install to C:\Delphi7.
Nobody can know for sure about your components, but you should just try them.
I'm using Windows 7 64 bit. When installing delphi 7 it prompt for compatibility issue. Just accept it, click run. Then delphi 7 installed succesfully without problem. I'm installed it on X:/app/Delphi7. 3rd party component added without problem, example i'm adding AlphaSkin component without problem.

Resources