Windows

Edge IEモードのサイトリスト設定の動作について

古いWeb業務システム(Webアプリケーション)には、旧バージョンのIEでないと正しく動作しないものが存在します。その対策として、Microsoft EdgeのIEモードでは、Enterprise Mode Site List(サイトリスト)の <compat-mode> によって、サイトごとにどのIE相当で動作させるかを指定できます。指定できる値は次の3系統です。

  • IE11 / IE10 / IE9 / IE8 / IE7 / IE5 : ドキュメントモード指定
  • IE8Enterprise / IE7Enterprise : エンタープライズモード
  • Default : 指定なし

このうちエンタープライズモードについては、「ドキュメントモード指定より互換性が高い」という説明を各所で見かけます。 では、両者は具体的に何が違うのでしょうか。

違いの一つであるドキュメントモードの決まり方については、MicrosoftのFAQやフローチャートで詳しく解説されています。 しかし、サイトリストの指定によって変わるのはドキュメントモードだけではありません。

本記事では、ドキュメントモードに加えて「ActiveXコントロールから見たIEのバージョン」と「送信されるユーザーエージェント文字列」に注目し、サイトリストの指定ごとに何が変わり、何が変わらないのかを、実際に動作させて確認した結果を紹介します。

もっと読む

ThinApp 2512以降でアプリがクラッシュした原因が「制御フローガード」だった事例

セキュアブラウザ製品「Chronos SystemGuard」のサポートを担当する屋代です。

先日ThinAppの新しいバージョンでパッケージを作成したところ、これまで問題なく動作していたアプリケーションがクラッシュする現象に遭遇しました。

この記事ではちょっとしたトラブルシューティング小ネタとして、制御フローガードに関するThinAppのBuildOptionsの既定値変更が原因だった事例を紹介し、ベンダーから案内された回避方法が有効に作用した機序について考察します。

もっと読む

WindowsのUIオートメーションツールの使用方法の紹介(プロキシーの認証情報の自動入力ツールの事例)

Windows環境で開発をしている橋田です。

パスワード付きのプロキシーを設定していると、ネットワークアクセスの際にプロキシーの認証情報(ユーザー名/パスワード)を求められます。 Microsoft EdgeとGoogle Chromeを利用しているお客様から、ブラウザ使用中にプロキシーの認証情報入力ダイアログが表示された際に、認証情報を自動で入力したいという要望をいただきました。今回、この要望に応えるため、WindowsのUIオートメーションツールを使用して、Microsoft EdgeとGoogle Chromeのプロキシーの認証情報入力ダイアログに認証情報を自動で入力するツールを開発しました。

開発したツールはProxyDialogAutoFillerという名前でOSSとして公開しています。

この開発事例を元に、WindowsのUIオートメーションツールの基本的な使い方を紹介します。

もっと読む

OutlookのOfficeアドイン版アドインの開発

Outlookのアドインの開発をしている橋田です。

クリアコードではTypicalReplyという、以下のような機能を提供するOutlookアドインを提供しています。

  • 受信したメールに定型の内容の返信メールを作成するボタンを追加する
    • 例: 「通報」ボタンを押すと以下の内容の返信メールを作成する
      • 件名: 迷惑メールの通報
      • 宛先: 社内のシステム管理部門
      • 元のメールを添付
  • ボタンの設定を組織単位で集中管理する

TypicalReplyはVSTOというフレームワーク上で開発されていました。VSTOアドインはクラシックOutlookでのみ動作し、新しいOutlookでは動作しません。 今回、お客様から新しいOutlookでもTypicalReplyを使用したいという要望を頂き、新しいOutlookでも動作するTypicalReplyを新規開発しました。 新しいOutlookで動作するアドインを作成するためには、Officeアドインプラットフォームでアドインを作成する必要があります。

今回は、この開発事例を元に、OfficeアドインでのOutlookのアドイン開発の流れを紹介します。

もっと読む

PowerShellで現在のセッションのカルチャを一時的に変更する方法

主にWindows環境での開発を行っている橋田です。

今回、PowerShellで現在のセッションのカルチャを変更する方法を調査しました。 これは、PowerShellのスクリプトがシステムのカルチャの影響を受けないようにしたい場合などに便利です。

バージョンによって対応方法が異なることや、その背景など、調査をして初めて知ったこともあったため、その調査結果を紹介します。

もっと読む

Microsoft Office製品のファイル内の文字列を検索、置換する

OfficeStringReplacerというMicrosoft Office 製品1のファイル内の文字列を検索・置換するツールを開発した橋田です。

Office文書に含まれる文字列の検索、置換処理を素直に実装するとものすごく時間がかかりますが、OfficeStringReplacerでは現実的な時間に収まるように工夫をしています。 この記事ではその工夫の詳細について解説します。

  1. Microsoft Office、Access、 Excel、 PowerPoint、 Word は、マイクロソフト コーポレーションの商標です。 ↩

もっと読む

セキュアブラウザ「Chronos SystemGuard」と最新版定期リリースのご紹介

屋代です。2023年よりセキュアブラウザ製品「Chronos SystemGuard」を担当しています。

2025年2月14日に、Chronos SystemGuardの最新版となるv15.0.131.0をリリースしました! そこでこの機会に、次の2点について簡単にご紹介します。

  1. Chronos SystemGuardについて
  2. Chronos SystemGuardのリリースについて

もっと読む

IISでリバースプロキシ(転送するヘッダの設定)

IISでリバースプロキシの設定をしている阿部です。

先日、IISでリバースプロキシの設定をする方法を説明しました。

今回は少し進んだ設定方法としてヘッダ情報を転送する設定(nginxのproxy_set_header相当の設定)について説明します。 IISでリバースプロキシ設定で、バックエンドにヘッダ情報を転送したい方の参考になると思います。

もっと読む

Windows認証でRedmineに自動ログイン

RedmineでSSOしたい阿部です。

IISでリバースプロキシができて、REMOTE_USERを使ってRedmineで自動ログインができるとなれば、IISでWinodws認証をして、そのユーザ情報(REMOTE_USER)でRedmineに自動ログインしたくなります。

しかし、課題がありIISでリバースプロキシをするとうまくいきません。

本記事ではIISでリバースプロキシをするとうまくいかない理由を簡単に説明し、どのようにしたらその課題を打開できるのかを説明します。 具体的にはPHPでリバースプロキシ相当の処理をさせて課題を打開する方法を説明します。

もっと読む

IISでリバースプロキシ

普段はLinux + Apache or nginxの阿部です。

Windowsは個人PCでもサーバでも素人です。 そんな私がWindowsサーバでIISを動かし、リバースプロキシの設定をしたので、そのまとめです。 (「IISでリバースプロキシの設定をする」に焦点を当てるため、IISのインストールには触れません。)

IISでリバースプロキシの設定したい方の参考になると思います。

もっと読む