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

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

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

Re[9]: グローバルフック [1]


(過去ログ 85 を表示中)

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

■50316 / inTopicNo.21)  Re[10]: グローバルフック
  
□投稿者/ alloc (9回)-(2010/06/03(Thu) 14:50:44)
No50304 (とっちゃん さん) に返信

> 常駐アプリを製作中で
> 古いバージョンだと自分を終了する手段を持っていなくて
> インストーラから終了させる段取りを組み入れたい

 いえ、違います。
楽しい方なので、以下、雑談つうことで。

開発中のものは、複数個の .Net のパッケージ・アプリです。
このアプリ達とLAN上でメッセージのやりとりをするのが常駐ツールです。
#常駐は正しくないですね、子プロとして動いています

こいつ。内部カウントを持ちゼロになったら終了する、が昔の仕様。
今は、プロセス監視スレッドを走らせて適切に終了ようになっています。

で、協力会社に、いわゆるバグ出しをやってもらっています。
他にも要望とか文句☆とかもあります。
頻繁なMSIの更新はこのためです。


> グローバルフックをかけるということを簡単にできると思う人なら、
> VSセットアップなんてバギーなものを使わず、WiXなりを使ったほうが
> よっぽど効率いいと思いますけど?

 ほう。WiX ですか。面白そうですね。< なんか、ウラシマ状態ですね、ワ・タ・シ
しかも、達人のよーですし。

ただ、私ひちょりでやってるわけでは無いのでなんとも…ですね。
保守的な方が多いですから。

引用返信 編集キー/
■50324 / inTopicNo.22)  Re[11]: グローバルフック
□投稿者/ とっちゃん (516回)-(2010/06/03(Thu) 16:28:37)
とっちゃん さんの Web サイト
No50316 (alloc さん) に返信

> 開発中のものは、複数個の .Net のパッケージ・アプリです。
パッケージやってるんですか!じゃぁ同業だw


> このアプリ達とLAN上でメッセージのやりとりをするのが常駐ツールです。
> #常駐は正しくないですね、子プロとして動いています
>
あ、一種のメッセンジャーモジュールなんですね。
でも、それならEXEにしないでDLLにしたほうが楽じゃ?


> こいつ。内部カウントを持ちゼロになったら終了する、が昔の仕様。
> 今は、プロセス監視スレッドを走らせて適切に終了ようになっています。
>
呼び出し元プロセスが落ちちゃった場合とかですかね。
終われなくなっちゃうんですよねぇ...orz


> で、協力会社に、いわゆるバグ出しをやってもらっています。
> 他にも要望とか文句☆とかもあります。
> 頻繁なMSIの更新はこのためです。
>
頻繁なアップデートがあって、それが外に出るのであれば
なおのことフックのように副作用の影響の大きな機能は
利用しないほうがいいと思うのですが?

それこそ、余計なバグを仕込むことにつながりかねないし、
グローバルフックは、意図しないところでモジュール競合とかが発生することがあるので
非常に危険です。

実装レベルで簡単かどうかと、危険性がどの程度あるかは別問題です。



>  ほう。WiX ですか。面白そうですね。< なんか、ウラシマ状態ですね、ワ・タ・シ
> しかも、達人のよーですし。
>
達人かどうかはわかりませんが、5年もやってればそれなりに知識はつきます。
仕事で使ってますからねw


> 保守的な方が多いですから。
>
保守的な人を相手にするのであればなおのこと...WiXをお勧めしたいです。

なにせ、作者はWindowsInstallerの開発チームのメンバー(今は元ですが)ですし
今は、MSでインストーラ関係のコンサル業務とかやってるらしいですし。

オープンソースですが、看板しょってやってるし、MS内部でも半ば公式(MSDNライブラリで
インストール処理の解説があるとほとんどがWiXのソース)扱いです。

実際、VSそのもののインストーラや、Office(WindowsInstallerはもともとOfficeのインストールを
効率よく行うために開発されたものです)や、SQL Server のインストーラもWiXで作られてます。

市販パッケージ全体となると、InstallShield が強いのでWiX使ってるところは少ないと思いますけど。

引用返信 編集キー/
■50327 / inTopicNo.23)  Re[7]: グローバルフック
□投稿者/ alloc (10回)-(2010/06/03(Thu) 17:42:43)
No50309 (ちゃっぴ さん) に返信
> Update install が目的なら素直に installer でやらせるべきでしょうね。

 そうですね。こちらの皆様もこの方法に一票!てな感じですし。


> 大本の installer の process が昇格しているのであれば普通に対象の process を停止させる処理書けばいいと思いますし、大本の installer の process が昇格していないならその処理を昇格して実施するように manifest つければいいでしょうし。

 今の私には、未知の世界ですが、少しだけ分かりかけてきました。


> なお、強制的に落として問題無いんですかね?
> 対象の process を利用中ですぐに落としてはまずい場合も考えられますし、対象の process が別の user のものである可能性も。この手の処理では停止してくださいと dialog 出すとか、次回再起動時に更新するのが一般的ですが。

 はい、問題ありません。4個のマルチスレッドですが、警固(ほんまか?)に作ってありますから。

引用返信 編集キー/
■50328 / inTopicNo.24)  Re[8]: グローバルフック
□投稿者/ alloc (11回)-(2010/06/03(Thu) 17:44:11)
No50311 (ちゃっぴ さん) に返信
> ちなみに ORCA でもこんな感じで自動化できると思うんですが。

 ありがとうございます。φ(.. )メモメモ

引用返信 編集キー/
■50329 / inTopicNo.25)  Re[12]: グローバルフック
□投稿者/ alloc (12回)-(2010/06/03(Thu) 17:45:34)
No50314 (todo さん) に返信

> ユーザー インターフェイス特権の分離 (UIPI)

 ありがとうございます。φ(.. )メモメモ

引用返信 編集キー/
■50330 / inTopicNo.26)  Re[12]: グローバルフック
□投稿者/ alloc (13回)-(2010/06/03(Thu) 18:05:10)
No50324 (とっちゃん さん) に返信

> あ、一種のメッセンジャーモジュールなんですね。
> でも、それならEXEにしないでDLLにしたほうが楽じゃ?

 ふふふ、UDPリスナーなんですよ、実は。それに VB 相手ですし。


> 呼び出し元プロセスが落ちちゃった場合とかですかね。
> 終われなくなっちゃうんですよねぇ...orz

 その通〜り。タコなヤツがいるんですよ。< もち、含むオイラ


> それこそ、余計なバグを仕込むことにつながりかねないし、
> グローバルフックは、意図しないところでモジュール競合とかが発生することがあるので
> 非常に危険です。
>
> 実装レベルで簡単かどうかと、危険性がどの程度あるかは別問題です。

 正論です。ただ、私の性格上、痛い目をみないと…
#賢者は歴史に学び、愚者は経験に学ぶ、ってやつです
それに、壁が無いと面白くないでしょ。


> 達人かどうかはわかりませんが、5年もやってればそれなりに知識はつきます。
> 仕事で使ってますからねw

 そこまでいうなら、明日の全体会議で議案にします。
#VC まともに使えるのはオイラだけなのが、若干の気がかりではあるが…
#っと、大事なことですが、「終了時のファイルのコピー」とかは、できるんですよね?


> オープンソースですが、看板しょってやってるし、MS内部でも半ば公式(MSDNライブラリで
> インストール処理の解説があるとほとんどがWiXのソース)扱いです。

 とりあえず、ディスク探すのも面倒なので、SDKを落としておきます。

引用返信 編集キー/
■50331 / inTopicNo.27)  Re[13]: グローバルフック
□投稿者/ とっちゃん (517回)-(2010/06/03(Thu) 18:39:57)
とっちゃん さんの Web サイト
No50330 (alloc さん) に返信

>>あ、一種のメッセンジャーモジュールなんですね。
>>でも、それならEXEにしないでDLLにしたほうが楽じゃ?
>
>  ふふふ、UDPリスナーなんですよ、実は。それに VB 相手ですし。
>
VBかぁ。。。よくわかんねw<おい!

>
>>呼び出し元プロセスが落ちちゃった場合とかですかね。
>>終われなくなっちゃうんですよねぇ...orz
>
>  その通〜り。タコなヤツがいるんですよ。< もち、含むオイラ
>
その言葉に含まれてる部分はあえて除外したのにw

>
>>それこそ、余計なバグを仕込むことにつながりかねないし、
>>グローバルフックは、意図しないところでモジュール競合とかが発生することがあるので
>>非常に危険です。
>>
>>実装レベルで簡単かどうかと、危険性がどの程度あるかは別問題です。
>
>  正論です。ただ、私の性格上、痛い目をみないと…
> #賢者は歴史に学び、愚者は経験に学ぶ、ってやつです
> それに、壁が無いと面白くないでしょ。
>
ちなみに、いろいろやろうと思うと実装レベル的には、インストーラに組み込むほうが
利用可能なコードの制約が大きいので大変です。
当たり前ですが、インストーラで動くコードは何もインストールされていない状態でも
動作できるように作られたコードじゃないといけないのでw<もちろん白いところだけw


>
>>達人かどうかはわかりませんが、5年もやってればそれなりに知識はつきます。
>>仕事で使ってますからねw
>
>  そこまでいうなら、明日の全体会議で議案にします。
> #VC まともに使えるのはオイラだけなのが、若干の気がかりではあるが…
> #っと、大事なことですが、「終了時のファイルのコピー」とかは、できるんですよね?
>
場合によっては、インストール中にコピーのほうがいいかもしれません。
が、「どこに」「何を」がないので何とも言えないです。

パッケージやってるから、ロゴの話も聞いたことがあると思いますが、
ちゃんとしたロゴ(現行のWin7ロゴは、いい加減杉で参考にならない)に対応できるように
ということであればコード書いたら負けのつもりで作らないとダメです。

もちろん、書いちゃダメというわけではありません。

基本的にはインストールのコアロジック部分でコード書いたら負けという感じですね。

>
>>オープンソースですが、看板しょってやってるし、MS内部でも半ば公式(MSDNライブラリで
>>インストール処理の解説があるとほとんどがWiXのソース)扱いです。
>
>  とりあえず、ディスク探すのも面倒なので、SDKを落としておきます。
>
おいらのブログにチュートリアルの日本語化したもの(おいらが訳したわけじゃありません)の
リンクも貼ってありますので、参考にしてください。

2.0ベース(現行は3.x)の入門記事でよければCodezineに連載があります。
現行の3.0で若干変わっている部分もありますが(UIの設定方法とか)、
コードそのものはほとんど変わってないので今でも役に立つと思います(思いたいw)。

引用返信 編集キー/
■50351 / inTopicNo.28)  Re[8]: グローバルフック
□投稿者/ ちゃっぴ (25回)-(2010/06/04(Fri) 03:29:15)
ちゃっぴ さんの Web サイト
UDP listener を NT service ではなく user process として起動しているのですね。
なら、FUS (Fast User Switching)、Terminal Service とかで使われると終わりますね。
Package とのことなのでちょっと気になりました。
引用返信 編集キー/
■50358 / inTopicNo.29)  Re[14]: グローバルフック
□投稿者/ alloc (14回)-(2010/06/04(Fri) 11:13:49)
No50331 (とっちゃん さん) に返信

おはようございます。

> VBかぁ。。。よくわかんねw<おい!

 生まれ変わった .Net の VB をなめてはいけません。
ルータを超えた、VPNのリモート接続がわずか数行で書ける、
その気になりゃ、ソケットを使った低級ウェブ系クラスも作成可能
それに、なんといっても画像系ですな。
そこそこ時間かけてやってきた作業が、えっ、こんでええの!です。
デビアンカット(あれ、違う気が…)じゃの、ホフマンじゃの、バイリニア/バイキュービックなどの補間処理とか。
#画像を極めたヤツにはわかります

ですから、デザインやストアド含めたSQLに専念できます。< ウットコ


> パッケージやってるから、ロゴの話も聞いたことがあると思いますが、

 MSのいうことでしょ。
自分で決めて、自分で破る。< 例、PE ヘッダー
#ちなみに、あの爆☆速 BC は忠実に守っていました

未来永劫続くわけでもあるまいし、ユーザ目線で開発しています。
#会社のスタンスは、これまた違うんだな、これが

引用返信 編集キー/
■50360 / inTopicNo.30)  Re[9]: グローバルフック
□投稿者/ alloc (15回)-(2010/06/04(Fri) 11:18:14)
No50351 (ちゃっぴ さん) に返信

 おはようございます。

> なら、FUS (Fast User Switching)、Terminal Service とかで使われると終わりますね。

 はは、いいんでげすよ、これで。

引用返信 編集キー/
■50373 / inTopicNo.31)  Re[15]: グローバルフック
□投稿者/ とっちゃん (518回)-(2010/06/04(Fri) 14:56:22)
とっちゃん さんの Web サイト
No50358 (alloc さん) に返信

>  生まれ変わった .Net の VB をなめてはいけません。
> ルータを超えた、VPNのリモート接続がわずか数行で書ける、

プログラムでパケット通信するのに、VPN超えるからって特殊なコードは
書かないと思うけど?
#宛先のIPをどうやってセットするかはVB関係ないしw


> それに、なんといっても画像系ですな。
GDI+のことかしら?たしかIE4と一緒に出てきたんじゃなかったかなぁ?

>>パッケージやってるから、ロゴの話も聞いたことがあると思いますが、
>
>  MSのいうことでしょ。
> 自分で決めて、自分で破る。< 例、PE ヘッダー
> #ちなみに、あの爆☆速 BC は忠実に守っていました
>
PE ヘッダーって前と違ってるんですか?知らなかったわぁ。。。


> 未来永劫続くわけでもあるまいし、ユーザ目線で開発しています。
> #会社のスタンスは、これまた違うんだな、これが
>
ユーザー目線で開発はすごく重要ですね。使ってもらう人の視点で開発できないような
輩はパッケージやる資格なしというくらい重要です。

>>なら、FUS (Fast User Switching)、Terminal Service とかで使われると終わりますね。
>
>  はは、いいんでげすよ、これで。
>
でも...なんか矛盾してる気がしますけど?



ちなみに。。。
XP までは、ドメイン環境では、FUS が使えませんでした。
ですが、Vista 以上のOSは、ドメイン環境でもFUSが利用できます。

Terminal Service は、リモートデスクトップを支える基礎技術です。
Win7 のVirtualPCで使えるXPモード(本当は統合モードという)は、
リモートデスクトップで仮想マシンに接続しています。

FUSは、1マシン1アカウントなら関係ないですし、
仮想マシンまでサポート対象なパッケージはめったにないから
問題になることはないでしょうけどねw

引用返信 編集キー/

<前の20件
トピック内ページ移動 / << 0 | 1 >>

このトピックに書きこむ

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

管理者用

- Child Tree -