2022年1月15日土曜日

ちょっとしたレジストリ設定で

Windowsでちょっとしたツールを作ろうとするには昔はdelphiを使っていたが、現状では完全に遠ざかってしまったので、現状だと開発環境からどうにかしないといけない。ものすごく敷居が高い気がするw

開発環境として考えるとWindowsベースとなるとVisualStudioぐらいしかなさそうな気がするが、delphiもXEになってからは全く触っていないしそれ以前からもパッケージ自体が肥大化しすぎて正直好みではなくなってしまって興味は失せてしまった。VisualStudioはまあWindows用の開発環境として統廃合が進んでかなりすっきりした印象を受けるが、それでも複雑怪奇。Androidも開発できるものとなっているのでせっかくすっきりしたものがよくわからない状態にも。まぁ色々と思うところはあるものの、Windowsでと考えるならVisualStudioぐらいか結果的に選択肢はないと感じている。

VisualStudioで扱える言語はかなり多いが、デスクトップ用のWindowsのアプリを作成するために使える言語と言えば結局のところC#ぐらいしかないのではないだろうか?ためしにVisualBasicで作り始めたら、地味に色々と不便なのと、ちょこっと検索しても.NETの変化が激しく参考にならない事も多かったので途中でやめました。

で、初めてのC#でようやく形になったのでいざビルド!というところで発覚したマニフェスト問題。

Androidのおかげでマニフェストファイルという形に違和感はなくなっていましたが、Windowsも避けて通れなくなっているようです。ですが、システム周りのレジストリの操作は見るだけなら問題ありませんが、書き込もうとすると管理者権限が必要になるので…

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

としたいのですが、デバッグビルドはできるようですが、リリースビルドを行おうとすると

「エラー        ClickOnce では、要求の実行レベル 'requireAdministrator' はサポートされていません。」

というエラーが避けられず…セキュリティーでClikOnceが必須でしかもClickOnceはasInvokerしか認められないという事実。

馬鹿なのか?

試しにデバッグビルドの状態のものを別のPCにまるっとビルドしたオブジェクトだけコピーしたら使えたので、ツールとしてはありなのかな?

Androidもセキュリティーが厳しくなりすぎてて正直プラットフォームとしての魅力が下がっているのですが、Windowsお前もか…

0 件のコメント:

コメントを投稿