【#VS】「このプログラムは正しくインストールされなかった可能性があります」@Win7
関連記事
- 基本,謎開発を続けてはおるが,正式なGoが来ないドロドロドロ 【2024年01月25日(木)】
- 【#PHP】謎な #Laravel 案件 引き渡したじ 【2024年01月11日(木)】
- ドロドロドロ...祭り(爆 【2023年12月21日(木)】
- 生成AI「仕事で利用」2割 正確性などに懸念(23/5/7) 【2023年05月07日(日)】
- 【GitHub Copilot】Raspberry Pi&C#のテストコード書いてるけど,次々コードが湧いてくる!スゲースゲー 【2023年04月22日(土)】
今作ってる最中の謎システム,納品先の端末に大量にばらまくってことで
インストーラを作ってみたり.
Win10環境では問題でなかったけど,Win7にてインストールして完了後,exeを実行したら,出ちゃったよ...
「このプログラムは正しくインストールされなかった可能性があります」
プログラム互換性アシスタント...
あれ?Exe名を気をつければよかったんじゃなかったんだっけ?
(Exeのファイル名に,「Setup」「Install」「Update」って文字が含まれてれば,これが発動って聞いてた)
ってもうちょっと深く調べてみた
1.Windows ログオンセッションが UAC 環境下にある
2.当該プログラムは HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall (アンインストール情報)下のキーへの登録を行わない
3.当該プログラム名に「install」「setup」「update」等の文字列が含まれる
4.(Vista のみ)当該プログラムにマニフェストがリンクされていない、または、マニフェストに管理者権限への昇格指定が記述されていない
5.(7 のみ)上の「(Vista のみ)」での内容がいずれも OK でも、マニフェストに 7 互換指定が記述されていない
「このプログラムは正しくインストールされなかった可能性があります」を回避する方法 (Windows 7, Vista) @DSAS開発者の部屋さん
なんとっ![5.]のマニュフェストがいるんかいな (Vistaは客に出した仕様要件から外してるし,今年中に消滅するから,ほっといていいや:爆)
って,実行ファイルへのマニュフェストファイルの混ぜ方ってどげんすっと?
さらに調べてみた.
格闘すること1時間弱?
[Visual Studio 2010] マニフェストファイルを追加する@hiro’s dot.netさん
お~見つけた!このとおりやってみた@VisualStudio2015
1.プロジェクトで右クリック [追加][新しい項目]を選択
2.「アプリケーションマニフェストファイル」を追加する.ファイル名は適当でいいっぽい(拡張子は*.manifest)けど,縁起物(爆)なんで「app.manifest」のまんまで
3.マニフェストファイルが追加されたら,VS上で開いて,互換指定な該当箇所を修正(コメントアウトになってる)
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> <!-- このアプリケーションがテストされ、協働するようテストされた Windows バージョンの 一覧。適切な要素をコメント解除すると、最も互換性のある環境を Windows が 自動的に選択します。--> <!-- Windows Vista --> <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />--> <!-- Windows 7 --> <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" /> <!-- Windows 8 --> <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" /> <!-- Windows 8.1 --> <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" /> <!-- Windows 10 --> <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" /> </application> </compatibility>縁起物(爆)なんで,Vista以外は全て有効にしてみた
4.プロジェクトのプロパティ[アプリケーション]タブ内[リソース]ブロックのマニュフェストの項目が,(2.)で指定されたファイル名に変わっているか確認
5.プロジェクトのリビルド
この通りにやってみたら,プログラム互換性アシスタントのダイアログが出なくなったっす
Exe名「SetupTest.exe」だけど,大丈夫.マニュフェストさえ指定すれば,ファイル名の制限も無くなる模様
うちじゃ,問題が出なくなりましたけど
これ試される方は,ちゃんと検証しまくってから出荷してくださいませ❤
ウチの一部の製品は出ますw
直す予定なしw
>>uran さま
うちのも古いやつは出るはず
でも,今から出すやつは流石にマズイんで,これは対応して出しまする(笑