EXEpress 6で作成した自己解凍実行ファイルを、Windows Vista 以降またはWindows Server 2008以降で動作させる上での注意事項

Windows Vista以降では、起動する実行ファイルごとに、「ファイルを実行しているユーザー名」を厳密に分けて扱うようになっています。
EXEpressで作成した自己解凍実行ファイルは、標準設定では「管理者権限を必要とする」属性(マニフェスト)が付与されたものとなります。
管理者権限を必要とする実行ファイルを、管理者権限の無い一般アカウント上で実行すると、ユーザーの同意のもとで権限の昇格が行われた上、管理者権限を持ったアカウント上で実行しているプログラムとして扱われる ようになります。

EXEpressのファイル解凍先として「Application Data」などユーザー固有のフォルダを使用していると、フォルダ名は実行ファイルを実行しているユーザー名によって決定されます。このため、自己解凍実行ファイルを実行した実際のユーザーとは異なるフォルダへのファイル解凍が行われてしまうことになります。
また、スタートメニューやデスクトップなどのフォルダもユーザーごとに作成されるため、これらのフォルダについても影響が生じます。

例:
管理者「Taro」と一般ユーザー「Hanako」の2アカウントがあり、Hanakoアカウントで自己解凍実行ファイルを起動すると、管理者権限のあるTaroアカウントへの昇格を行う必要があります。

(Hanakoアカウントが管理者権限を所有している場合は問題は発生しません)

この状態では、Application DataフォルダはTaroアカウントのパスが使用されてしまい、Hanakoアカウントのフォルダとはなりません。
各ユーザー固有のスタートメニューやデスクトップにショートカットを作成する設定の場合、Taroアカウントのスタートメニューやデスクトップへのショートカット作成が行われます。

 

この現象はWindowsの仕様によるものですが、現象を回避する方法として、 自己解凍実行ファイルに「管理者権限を必要とさせない」指定を行うことで、管理者アカウントではなく実行ユーザーアカウント上のプログラムとして実行させる方法があります。

これは、EXEpressの詳細設定から「プログラム」タブを開き、「アプリケーションマニフェスト」の一覧で「標準(管理者権限を必要としない)」を指定してください。

管理者権限を必要としない自己解凍実行ファイルでは、Program Filesなど書き込みに管理者権限を要求するフォルダへのファイル解凍を行うことができないほか、詳細設定の「ショートカットの登録」ページにある「全ユーザー共通のショートカットを作成する」が動作しなくなりますのでご注意ください。

管理者権限への昇格を行いつつ、ショートカットの登録などは起動した一般ユーザーのアカウントで行いたいという場合は、ショートカットの登録を行うためのプログラムを別途作成し、「自動実行」として登録・実行するという方法があります。
この際、「権限を継承(昇格)しないで実行する」を必ずチェックするよ にしてください。
ただし、この方法を用いた場合、EXEpressアンインストーラでは自動的にショートカットを削除することができませんのでご了承ください。
「拡張モジュール」機能などを用いて、別途ショートカットの削除を行うようにする必要があります。