知らなかったけど、こんなコマンドがあったんだ。
Package.appxmanifest
の Packaging タブで Package family name:
を控えてこんな感じのコマンドでパッケージ化されたアプリから見えるレジストリキーが見えた
Invoke-CommandInDesktopPackage -PackageFamilyName "a3c6c55d-67da-49c4-ba72-d68f97906c69_bvcq4yqpbrjyj" -Command "regedit.exe" -PreventBreakaway
これで、パッケージ化されたアプリから見えるファイルシステムが見えるコマンドプロンプトが立ち上がった。
Invoke-CommandInDesktopPackage -PackageFamilyName "a3c6c55d-67da-49c4-ba72-d68f97906c69_bvcq4yqpbrjyj" -Command "cmd.exe" -PreventBreakaway
パッケージ化されたアプリから AppData の下に MyTestApp フォルダーを作って mytestdata.txt に適当にデータを書き込んでみるようなコードを書いてみました。
privatevoid Button_Click(object sender, RoutedEventArgs e) { var path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); var appFolder = Path.Combine(path, "MyTestApp"); Directory.CreateDirectory(appFolder); using (var sw = new StreamWriter(Path.Combine(appFolder, "mytestdata.txt"))) { sw.WriteLine("Hello world"); } }
先ほどのコマンドプロンプトから AppData フォルダーに移動してメモ帳起動してみたらばっちりですね。
まとめ
困ったときに便利そう。