WIN10 wbadmin.exe as a C# process

I try to start wbadmin as a process via C#. I've installed WIN10.
If I try a File.Exist(@"c:\Windows\System32\wbadmin.exe") the answer is false (not found or not the correct priviliges).
A manifest with <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" /> is included and the security request pops up at the program start.

With WIN7 it runs without a problem.

Is there any idea to solve the problem?
19andreas61Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

sarabandeCommented:
if it is a 64-bit windows and wbadmin.exe is a 32-bit executable, the correct path is

c:\windows\syswow64\wbadmin.exe

in system32 folder there are only 64-bit executables.

Sara
19andreas61Author Commented:
Hi Sara,

thanks for the information, but ...
Yes it is 64-Bit, but at c:\windows\syswow64\ is no wbadmin.exe.

The c:\Windows\System32\wbadmin.exe works fine at an Administrator-CMD. I have another place at
C:\Windows\WinSxS\amd64_microsoft-windows-blb-cli-main_31bf3856ad364e35_10.0.10240.16384_none_53554ecf29b30305
but there I get the error
"Im Cache des Ressourcenladeprogramms ist kein MUI-Eintrag geladen." (it is a german system)

The basic problem or question is: What can I do that File.Exist(@"c:\Windows\System32\wbadmin.exe") can see the file, like I can see it at the file-explorer?

Thanks
Andreas
sarabandeCommented:
i assume that windows "translates" c:\Windows\System32 to c:\windows\syswow64 automatically if you call it from a 32-bit executable.

you could test whether my assumption is right by copying wbadmin.exe to syswow64 folder.

if the file could be found that way, it is not a solution but we would know where the problem is.

can you post the code where you try to execute the wbadmin.exe? in my opinion it is not possible to invoke a 64-bit program from a 32-bit executable directly. you would need to invoke a 64-bit assembly first (for example cmd).

the WIN7 was it 64-bit as well?

Sara
sarabandeCommented:
i found the wbadmin.exe in my system32 folder as well. i think you don't need to check existence of the executable by a File.Exist since wbadmin comes with the operation system.

using System.Diagnostics; 

....

Process.Start("wbadmin.exe");

Open in new window


the operation system should find wbadmin.exe since it is in the standard path.

Sara
19andreas61Author Commented:
Hi Sara,

thanks again. You pushed me in the right direction.

I fixed it:
At the VisualStudio - Project Property - Build - Platform target
there "Any CPU" but I've to take away the hook at "Prefer 32-bit"

After this my Program can see the wbadmin at system32 and it works!

Thank you very much
Andreas

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C#

From novice to tech pro — start learning today.