背景
前の担当者が残したC#のアプリケーションを触っています。
プログラムの改修が終わり、インストーラーを作成しました。
問題
インストーラがインストールしたアプリケーションを起動したところ、
普段は動いている機能が動かずエラーになる箇所が複数ありました。
原因
原因を調べたら、ファイルに適切な権限が設定されておらず、
ファイルへのアクセスが拒否されている状態でした。
ファイルのアクセス権限をゆるくすれば解決します。
質問
ファイルのアクセス権限をゆるくすれば良いのですが、
前の担当者とファイル権限を変更するのは判断としておかしいとも感じています。
インストール後、Program Files内にアプリケーションが設置されるのですが、
Program Filesと 開発環境(visual studio) で
実行ユーザーが異なることでこの問題が発生していると考えています。
Widowsアプリケーションを作成する方にとってこのような問題は頻繁に起こるものなのでしょうか?
何かしら適切な対策があればと思い、質問いたしました。アドバイスいただけますと幸いです。
よろしくお願いいたします。
なお、私自身はここ数年Macしか触っておらずWindowsアプリは初心者です。
また前の担当者は不在でWindowsアプリに関して質問できる方がいない状態です。
追記
具体的な情報が一切無いというご指摘を受けまして、ごもっともですので、
gentaro 氏のアドバイスを元に状況を整理した内容を追記いたします。
インストーラの作成手順
インストーラの作成は新規で行いました。Visual studio 2019 を使い、
手順としては、主に
- Install Project の作成
- 必要なファイル、ショートカットの設定
- リビルド
を行っております。
以下のURLとほぼ同じ手順で行っています。
https://knkomko.hatenablog.com/entry/2019/09/15/033608
「実行ユーザーが異なることでこの問題が発生している」の根拠 / 「ファイルのアクセス制限をゆるく」の具体的な説明
不具合が出てる箇所でエラーメッセージを出力させたところ
「XX.datへのアクセスが拒否されました」というエラーを取得できました。
ファイルへの書き込みを行っている箇所だったため、権限の問題だと推測し、
取り急ぎ、ファイルの権限を644 から 666に設定したところエラーがでなくなりました。
インストーラーで展開したプログラムも開発環境のプログラムも
いずれも権限は644ですので、
開発環境はファイル所有者、インストーラーで展開後のプログラムではその他のユーザーで書き込みが行われたと判断しております。
前担当者が不在
日本語が不適切でした。前担当者は退職済みで連絡がとれない状態です。
回答2件
あなたの回答
tips
プレビュー