[解決済み] .Net Core 2.0 Process.Start throws "The specified executable is not valid application for this OS platform".
質問
.regファイルと.msiファイルを、ユーザーのWindows上でこれら2つのファイルタイプに関連する実行可能ファイルを使用して自動的に実行させる必要があります。
.NET Core 2.0 Process.Start(string fileName) docs と書いてあります。 ファイル名は実行可能なファイルである必要はありません。拡張子がシステムにインストールされたアプリケーションに関連付けられたファイルであれば、どのようなファイルタイプでもかまいません。
しかし
using(var proc = Process.Start(@"C:\Users\user2\Desktop\XXXX.reg")) { } //.msi also
は私に
System.ComponentModel.Win32Exception (0x80004005): The specified executable is not a valid application for this OS platform.
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start(String fileName)
ErrorCode と HResult -2147467259、NativeErrorCode 193 を指定しました。
同じコードは、.Net Framework 3.5 または 4 のコンソールアプリで動作しました。
ユーザーの環境は様々で(Windowsのバージョンも含めて)、私のコントロールの及ばないところなので、メソッドのパラメーターにexeファイルのパスを正確に指定することはできない。そのため、.Net Coreに移植する必要があり、以下のように動作させようとしています。 SCD コンソールアプリのため、特定の.Net Frameworkや.NET Coreバージョンのインストールは必要ありません。
Visual Studioのデバッグ実行時とwin-x86のSCDとして公開した時の両方で例外が発生します。私のPCはWin7の64bitですが、通常のWindows PCがそうであるように、.regや.msiは通常のプログラムに関連付けされているはずです。
解決策はあるのでしょうか?何か助かる方法があれば教えてください。
解決方法は?
を設定することもできます。
UseShellExecute
のプロパティは
ProcessStartInfo
を真にする
var p = new Process();
p.StartInfo = new ProcessStartInfo(@"C:\Users\user2\Desktop\XXXX.reg")
{
UseShellExecute = true
};
p.Start();
.net Coreでの変更のようで、ドキュメントによると こちら .
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み] [Entity Framework 4.1でエンティティに関連オブジェクトを追加する際に、エンティティオブジェクトをIEntityChangeTracker.の複数のインスタンスから参照できない。
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する