C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: インストーラのVista対応


(過去ログ 22 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■9880 / inTopicNo.1)  インストーラのVista対応
  
□投稿者/ marumaru (1回)-(2007/11/06(Tue) 15:40:38)

分類:[C#] 

初めまして。
お世話になります。

現在
VisualStudio2005 .NET C#で開発しております。

セットアップツール(msi形式のインストーラ)についてXPからのVista対応を現在行ってます。
msiのインストーラについては、内部でexeを3つ呼ぶ形となってるのですが、あるexeに関して「管理者として実行」をする必要があります。

Vista環境では右クリックで「管理者として実行」というのが追加されましたが、msi形式のインストーラでは右クリックで「管理者として実行」はできません。

その対応を現在行ってて、いろいろと調べた結果、マニフィストファイルを作成してmt.exeを使う方法で対応しようと考えています。

このHPの「マネージコード (Visual Basic、C#、J# ) でマニフェストを埋め込むには」を参考に行ってます。
http://72.14.235.104/search?q=cache:5_E6sKhxv2kJ:download.microsoft.com/download/3/4/4/3448ddf3-ca22-45bd-9984-1237e8ed0019/Windows_Vista_application_compatibility_paper.doc+%E5%9F%8B%E3%82%81%E8%BE%BC%E3%81%BF%E3%83%9E%E3%83%8B%E3%83%95%E3%82%A7%E3%82%B9%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B&hl=ja&ct=clnk&cd=4&gl=jp&lr=lang_ja

簡単な手順としては、
@Visual Studio 2005 でプロジェクトを作成し、ビルドします。

A「level="requireAdministrator"」属性を含むマニフェストファイルをテキストエディタなどで作成します。ファイル名は任意のもので構いません。ファイルの内容は、「埋め込みマニフェストを作成するには」の手順で紹介した Xml に似ていますが、名前空間の重複を避ける必要があるため、名前空間を別途指定する必要があります。以下にサンプルを示します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2"> <ms_asmv2:security> <ms_asmv2:requestedPrivileges> <ms_asmv2:requestedExecutionLevel level="requireAdministrator"> </ms_asmv2:requestedExecutionLevel> </ms_asmv2:requestedPrivileges> </ms_asmv2:security> </ms_asmv2:trustInfo></assembly>

B「mt.exe」コマンドを使用してマネージコードにアプリケーションマニフェストを埋め込みます。以下の例は、「IsUserAdmin.exe」アプリケーションに、「IsUserAdmin.manifest」で定義されたアプリケーションマニフェストを埋め込む例です。
mt.exe -manifest IsUserAdmin.manifest -outputresource:IsUserAdmin.exe


上記手順通りにAのマニフィストファイルを作成し、
[アプリケーション名.manifest]をexeファイルと同じディレクトリに置き
Bのコマンドを流したんですがエラーとなります。

mt.exeのコマンドが上手く実行できてないのかなと思うのですが、
詳しい方がおられたら教えて頂きたいと思います。

DOSでの実行結果

ディレクトリ=アプリケーション(exeファイルの場所)
コマンド=
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\mt.exe"
-manifest IsUserAdmin.manifest
-outputresource:IsUserAdmin.exe

エラー内容:
mt.exe : command line error c1010007: Unexpected/Unknown option
" manifest". Use the /? option for help on usage and samples.

引用返信 編集キー/
■9881 / inTopicNo.2)  Re[1]: インストーラのVista対応
□投稿者/ az (1回)-(2007/11/06(Tue) 15:42:18)
こっちも。
http://dobon.net/cgi-bin/vbbbs/cbbs.cgi?mode=one&namber=20871&type=0&space=0&no=0
引用返信 編集キー/
■9888 / inTopicNo.3)  Re[2]: インストーラのVista対応
□投稿者/ Tom Yama (21回)-(2007/11/06(Tue) 16:47:48)
No9880 (marumaru さん) に返信
エラー内容にあるように、'/?' で、使い方やサンプルを調べてみましたか?
引用返信 編集キー/
■9889 / inTopicNo.4)  Re[3]: インストーラのVista対応
□投稿者/ Tom Yama (22回)-(2007/11/06(Tue) 17:03:54)
まだ、あるよ。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=2369989&SiteID=7
# ここまでやる情熱はあるのに、何で、自分で調べようとする情熱は、ないんだろ?
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -