So-net無料ブログ作成

Office 2019のオフラインインストール用のbatファイルを作成 [その他]

ローカルネットワークのパソコンに、ボリュームライセンスで購入したOffice Standard 2019をオフラインでインストールすることになった。
誰でも出来るようにということで、オフラインインストール用のDVDメディアを作成した。

オフラインでのインストール準備に必要なファイルは前の記事を見てください。
ボリュームライセンスによるExcel 2019 単体のオフラインインストール

オフラインインストール用データのダウンロード
32ビット/64ビットの両方をダウンロードした。

・configuration-x86.xml (32ビット版)
<Configuration>
  <Add SourcePath="C:\Office2019\Download_x86" OfficeClientEdition="32" Channel="PerpetualVL2019">
      <Product ID="Standard2019Volume">
         <Language ID="ja-jp" />
      </Product>
  </Add>
</Configuration>

・configuration-x64.xml (64ビット版)
<Configuration>
  <Add SourcePath="C:\Office2019\Download_x64" OfficeClientEdition="64" Channel="PerpetualVL2019">
      <Product ID="Standard2019Volume">
         <Language ID="ja-jp" />
      </Product>
  </Add>
</Configuration>

コマンドプロンプトから次を実行
setup /download configuration-x86.xml
setup /download configuration-x64.xml

これで、次のフォルダに32ビット/64ビットのデータがダウンロードできる。
C:\Office2019\Download_x86
C:\Office2019\Download_x64

インストーラーファイルの作成
次の2つのファイルを作成する。(シフトJISで作成する)
・configuration-template.xml
・Office_Setup.bat

configuration-template.xml
<Configuration>
  <Add SourcePath="$SourcePath$" OfficeClientEdition="$OfficeClientEdition$" Channel="PerpetualVL2019">
    <Product ID="Standard2019Volume">
      <Language ID="ja-jp" />
    </Product>
  </Add>
</Configuration>

Office_Setup.bat
rem Office 2019 のオフラインインストールを実行します。
rem DVDメディア等にオフラインデータを書き込んでいることを想定しています。
@echo off
cls

:SELECTED_BITS
echo.
echo インストールをする Office のバージョンを入力してください。
echo.
echo 1:32ビット版
echo 2:64ビット版
echo.
set /P InstalledBits="インストールをするバージョンは?:"

rem 構成ファイルのテンプレートのパス
set TemplatePath=%~dp0configuration-template.xml
rem Tempフォルダに出力した構成ファイルののパス
set ConfigurationPath=%temp%\configuration.xml

rem 構成ファイルのパラメータ
if %InstalledBits%==1 goto SELECTED_32BIT
if %InstalledBits%==2 goto SELECTED_64BIT
goto SELECTED_ERROR

rem 32ビット版を選択
:SELECTED_32BIT
set SourcePath=%~dp0Download_x86
set OfficeClientEdition=32
goto INSTALL

rem 64ビット版を選択
:SELECTED_64BIT
set SourcePath=%~dp0Download_x64
set OfficeClientEdition=64
goto INSTALL

rem 入力の間違い
:SELECTED_ERROR
echo.
echo.
echo 1 または 2 を入力してください。
echo.
pause
cls
goto SELECTED_BITS

:INSTALL
rem 既に構成ファイルがあれば削除
if exist %ConfigurationPath% del %ConfigurationPath%
rem テンプレートを読み込みパラメータを置き換えて
rem Tempフォルダに構成ファイルを出力する。
setlocal enabledelayedexpansion
for /f "delims=" %%a in (%TemplatePath%) do (
    set line0=%%a
    set line1=!line0:$SourcePath$=%SourcePath%!
    set line2=!line1:$OfficeClientEdition$=%OfficeClientEdition%!
    echo !line2!>>%ConfigurationPath%
)
endlocal

rem setup.exeを実行
start %~dp0setup.exe /configure %ConfigurationPath%

:END


DVDメディア(USBメモリ)へデータの書き込み
次のフォルダ、ファイルをメディアに書き込む。
・Download_x86 のフォルダ
・Download_x64 のフォルダ
・setup.exe
・Office_Setup.bat
・configuration-template.xml

Office のインストール
DVDメディア(USBメモリ)に書き込まれた、Office_Setup.bat を実行します。
インストールをするバージョン(32ビット/64ビット)を選択してEnterキーを押すと
オフラインでのインストールが始まります。


やってることの説明とか
configuration-template.xmlに書かれた$SourcePath$や$OfficeClientEdition$をbatファイルで書き換えて、Tempフォルダにconfiguration.xmlとして出力して、setup.exeに、この出力したxmlを渡して実行している。

nice!(0)  コメント(0) 

量子コンピュータで計算ってどうするの? [その他]

量子コンピュータって何かすごくてカッコイイ!と思って仕組みを見たりしたけど、さっぱり分からなかった。
0でも1でもなく両方の状態を持つ重ね合わせの状態になるからすごい!ってことしか分からなかった。

重ね合わせた状態がどうやって1つの計算結果になるのかが分からない。
で、調べいくうちに量子アルゴリズムで計算結果を求めるんだな!ってことが何となく分かった。
計算結果を求めるために答えの確率を上げていく必要があるってのも何となく分かった気がしただけだった。
量子アルゴリズムの説明がさっぱり過ぎて諦めた。

で、「習うより慣れよ」ってことで量子コンピュータで 1+1=2 はどうしたら計算できるのかを調べてみた。
参考URL:量子コンピュータで1+1を計算する

この参考URLのサイトがすごく分かりやすかった!
AND回路やOR回路を組合せて計算するのかー。と面白かった。

0+0, 1+0, 0+1, 1+1 を同時に計算することが出来て、結果を求めるのに何回も計算して確率が一番高いのが答えだ!ってのが量子コンピュータなんだ!ってのが面白かった。
nice!(0)  コメント(0) 

SQL Server 2017のメンテナンスプランで「エラー: 18456」が出る [その他]

Windows 10 Pro で SQL Server 2017 Standard を動かしている。
DBの自動バックアップを行うためにメンテナンスプランを作成した。
DBの自動バックアップは正常に完了し、バックアップファイルは出来ているが SQL Server のエラーログに次の内容が残っていた。

Login failed for user 'sa'. 理由: パスワードが、指定されたログインのパスワードと一致しませんでした。 [クライアント: <local machine>]
エラー: 18456、重大度: 14、状態: 8。

・SQL Server Management Studio (SSMS) 17.9.1 を使用してメンテナンスプランを作成した。
・SQL Server 認証モードと Windows 認証モードに設定している。
・SSMS で接続するユーザーは sa を使用している。

SQL Server のバグっぽい?という情報もありますが、Windows 認証モードに設定すると直るようです。
SQL Server 認証モードで使いたいのに!

参考URL: Windows2016&SQLSERVER2016メンテナンスプランでエラー18456、重大度:14、状態:8。が出て実行できません。
参考URL: Windows Server 2012 R2-SQLServer 2016 SP1のsaによるメンテナンスプランバックアップにて エラー: 18456発生
参考URL: Maintenance plan - Login failed for user 'sa' on master database
nice!(0)  コメント(0) 

VMwareにWindows Server 2016(評価版)をインストールできない [その他]

VMware PlayerにWindows Server 2016(評価版)を
インストールしようとしたらエラーが出たので対処したときのメモ。
インストールは「後からOSをインストール」にしている。

エラーは次のが出た。

unsuccessful
→ EFI Network

1.VMwareのロゴのときESCを押す。
2.Boot Managerの画面が表示される。
3.EFI VMware Virtual SATA CDROM Driveを選択してEnterキーを押す。
4.Press any Key to boot From CD or DVD...が表示されているときにEnterキーを押す。
5.インストールが始まる!

参考URL
「unsuccessful EFI Network」と表示されたときの対処
nice!(1)  コメント(0) 

ボリュームライセンスによるExcel 2019 単体のオフラインインストール [その他]

ボリュームライセンスでExcel 2019のみを購入し、オフラインでインストールしたときのメモ。
オンラインでのインストールを一番下に追記。
インストーラー用batファイルの作成を別記事に追加。

Office 2019からISOのダウンロードがなく、オンラインでインストールするのみになっています。

1.VLSCからExcel 2019のダウンロードでOffice 2019 Deployment ToolのEXEをダウンロードする。

2.ダウンロード後、EXEを実行して展開先に適当なフォルダ("D:\Excel2019")を指定する。
展開先のフォルダにはsetup.exeとサンプルのxmlがある。

3.展開先のフォルダに"configuration.xml"を作成する。
SourcePathはダウンロードしたファイルを保存するフォルダを指定
ファイルの内容は、Excel 2019 32ビット版の日本語です。
<Configuration>
  <Add SourcePath="D:\Excel2019\Download" OfficeClientEdition="32" Channel="PerpetualVL2019">
      <Product ID="Excel2019Volume">
         <Language ID="ja-jp" />
      </Product>
  </Add>
</Configuration>


4.コマンドプロンプトを管理者で実行し、setup.exe(展開先にある)のフォルダに移動して次のコマンドを実行する。
setup /download configuration.xml

ダウンロード中の進捗メータは表示されないので、コマンドが終わるまで待つ。

5.ダウンロードが終われば、"D:\Excel2019"のフォルダごと、USBメモリ等にコピーする。

6.インストールのためにSourcePathのフォルダを書き換える
<Configuration>
  <Add SourcePath="E:\Excel2019\Download" OfficeClientEdition="32" Channel="PerpetualVL2019">
      <Product ID="Excel2019Volume">
         <Language ID="ja-jp" />
      </Product>
  </Add>
</Configuration>


7.コマンドプロンプトを管理者で実行し、setup.exeのフォルダに移動して次のコマンドを実行する。
setup /configure configuration.xml


8.いつものExcelのインストールとあとは同じ。

参考URL:Excel2019の単体ダウンロードについて
参考URL:Excel展開ツールのConfiguration.xml編集について
参考URL:導入 Office 2019 (IT プロフェッショナル向け)
参考URL:Office 展開ツールのオプションの構成
参考URL:Office 展開ツールでサポートされる製品 ID

オンラインインストール


nice!(1)  コメント(0) 

NASの共有フォルダにつながらない [その他]

Windows 10 Pro バージョン 1809をクリーンインストールしました。

データをNASから取ってこようとしたけど、共有フォルダにつながらない。

「\\ にアクセスできません」とメッセージが出るのみ、エラー内容が特定できないと表示される。

色々しらべて解決したのでメモ。

[コントロール パネル]→[ネットワークと共有センター]を開く。
共有の詳細設定の変更をクリックする。
現在のプロファイルの以下を有効にする。
・ネットワーク探索を有効にする。
・ファイルとプリンターの共有を有効にする。

[コントロール パネル]→[プログラムと機能]を開く。
Windowsの機能の有効化または無効化をクリックする。
・SMB 1.0/CIFS File Sharing Support の中を全部チェック状態にする。

これで共有フォルダにつながるようになった!

nice!(0)  コメント(0) 

リソースモニターの内容をファイルに保存する [その他]

メモリの使用量を長期にわたって保存する必要がでてきた。
リソースモニターを開いたときの各プロセスのメモリの値をファイル保存する。

スクリプトをタスク スケジューラに登録して定期的に実行するようにした。

ResourceLog.vbs
'各プロセスのメモリ使用率をCSVで保存する
'ファイル名は"PerfLog_yyyyMMdd_HHmmss.csv""
Const savePath = "D:\"

Dim oClassSet
Dim oClass
Dim oLocator
Dim oService
Dim sMesStr

Dim oRange()
Dim oRangeA()
Dim oRangeB()
Dim i
Dim j
Dim iRow
Dim cpuPercent

Set oLocator = CreateObject("WbemScripting.SWbemLocator")
Set oService = oLocator.ConnectServer

iRow = 0


'1回目の計測
Set oClassSet = oService.ExecQuery("SELECT * FROM Win32_PerfRawData_PerfProc_Process")

ReDim oRangeA(oClassSet.Count - 1, 10)

i = 0
For Each oClass In oClassSet

    oRangeA(i, 0) = oClass.Name
    oRangeA(i, 1) = oClass.IDProcess
    oRangeA(i, 2) = oClass.PageFaultsPersec
    oRangeA(i, 3) = oClass.PrivateBytes / 1024
    oRangeA(i, 4) = oClass.WorkingSet / 1024
    oRangeA(i, 5) = (oClass.WorkingSet - oClass.WorkingSetPrivate) / 1024
    oRangeA(i, 6) = oClass.WorkingSetPrivate / 1024
    oRangeA(i, 7) = oClass.PercentPrivilegedTime
    oRangeA(i, 8) = oClass.PercentUserTime
    oRangeA(i, 9) = oClass.Timestamp_Sys100NS
    
    i = i + 1
Next

Set oClass = Nothing
Set oClassSet = Nothing


'1秒の待ち
WScript.Sleep 1000


'2回目の計測
Set oClassSet = oService.ExecQuery("SELECT * FROM Win32_PerfRawData_PerfProc_Process")

ReDim oRangeB(oClassSet.Count - 1, 10)

i = 0
For Each oClass In oClassSet

    oRangeB(i, 0) = oClass.Name
    oRangeB(i, 1) = oClass.IDProcess
    oRangeB(i, 2) = oClass.PageFaultsPersec
    oRangeB(i, 3) = oClass.PrivateBytes / 1024
    oRangeB(i, 4) = oClass.WorkingSet / 1024
    oRangeB(i, 5) = (oClass.WorkingSet - oClass.WorkingSetPrivate) / 1024
    oRangeB(i, 6) = oClass.WorkingSetPrivate / 1024
    oRangeB(i, 7) = oClass.PercentPrivilegedTime
    oRangeB(i, 8) = oClass.PercentUserTime
    oRangeB(i, 9) = oClass.Timestamp_Sys100NS
    
    i = i + 1
Next

Set oClass = Nothing
Set oClassSet = Nothing


Set oService = Nothing
Set oLocator = Nothing


On Error Resume Next

ReDim oRange(1 + UBound(oRangeB), 10)

oRange(0, 0) = "名称"
oRange(0, 1) = "プロセスID"
oRange(0, 2) = "コミット(KB)"
oRange(0, 3) = "ワーキングセット(KB)"
oRange(0, 4) = "共有可能(KB)"
oRange(0, 5) = "プライベート(KB)"
oRange(0, 6) = "CPU使用率(%)"

For i = 0 To UBound(oRangeB)

    cpuPercent = 0
    For j = 0 To UBound(oRangeA)
        If oRangeB(i, 0) = oRangeA(j, 0) And oRangeB(i, 1) = oRangeA(j, 1) Then
        
            cpuPercent = ((CDbl(oRangeB(i, 7)) + CDbl(oRangeB(i, 8))) - (CDbl(oRangeA(j, 7)) + CDbl(oRangeA(j, 8)))) / (CDbl(oRangeB(i, 9)) - CDbl(oRangeA(j, 9)))
            
            Exit For
        End If
    Next
    
    oRange(1 + i, 0) = oRangeB(i, 0)
    oRange(1 + i, 1) = oRangeB(i, 1)
    oRange(1 + i, 2) = oRangeB(i, 3)
    oRange(1 + i, 3) = oRangeB(i, 4)
    oRange(1 + i, 4) = oRangeB(i, 5)
    oRange(1 + i, 5) = oRangeB(i, 6)
    oRange(1 + i, 6) = FormatNumber(cpuPercent, 2, -1, 0, 0)
Next


Dim oFs
Dim oText
Dim sPath
Dim sText()

ReDim sText(UBound(oRange, 2))

sPath = savePath & "\PerfLog_" & FormatDay() & ".csv"

Set oFs = CreateObject("Scripting.FileSystemObject")
Set oText = oFs.CreateTextFile(sPath, True)

For i = 0 To UBound(oRange)
    For j = 0 To UBound(sText)
        sText(j) = oRange(i, j)
    Next
    oText.Write Join(sText, ",") & vbCrLf
Next

oText.Close

Set oText = Nothing
Set oFs = Nothing

Function FormatDay()

    Dim sDate, dtNow

    dtNow = Now
    sDate = FormatDateTime(dtNow, vbShortDate) & " " & Right("0" & FormatDateTime(dtNow, vbLongTime), 8)
    FormatDay = Replace(Replace(Replace(sDate, "/", ""), ":", ""), " ", "_")

End Function

nice!(0)  コメント(0) 

ソースコードのハイライト表示(SyntaxHighlighterが使えるようになった) [その他]

So-netブログでソースコードをキレイに見やすく表示するために
ソースコードのハイライト表示をSyntaxHighlighterでしていました。

最近になって「あれ?ソースコードがハイライト表示になってない」と気づいて調べてみると。

・So-netブログへの接続が http ではなく https になっていた。(2018年5月15日からみたい)
・SyntaxHighlighterへは、httpで接続してソースコードをハイライト表示していた。
・httpsのブログからhttpへの接続は、なんやかんやでダメらしい。(httpリダイレクトがどうたら)

という事らしいので、どうしようかというと
1.自分でSyntaxHighlighterのWebホスティングをする。
 FirebaseとSyntaxHighlighterで検索すると良い。
2.Google code-prettifyを使う。
 何かキレイに表示できない、頑張ればできそう。
3.SyntaxHighlighterがhttpsになるのを待つ。
 いつか分からない。

続きを読む


nice!(1)  コメント(0) 

Windows10 スタートメニューのアイコンが壊れた(砂嵐みたいなの) [その他]

Windows 10のスタートメニューは、すべてのプログラムを表示しています。
そのスタートメニューのアイコンが白黒のモザイク柄(砂嵐)になってしまった。

で、それの戻し方。
icon.png

「隠しファイル、隠しフォルダー、および隠しドライブを表示する」が出来ていること。
C:\ユーザー\ログイン名\AppData\Localを開く。
IconCache.dbを削除して再起動。
(削除だけでも治りました)

調べたときのURL
Windows10で表示がおかしくなったアイコンの修復
nice!(0)  コメント(0) 

Windows 7 32ビットでアップデート後にOSが停止する問題を解決 [その他]

2018年3月頃から問題になっているWindows 7 32ビットでWindows アップデート(マンスリー品質ロールアップ)を行うと再起動を繰り返したり、フリーズしたりする問題に関してMicrosoftから対策が発表されていました。

2018年3月以降の月例更新プログラムの適用後、Windows 7 の 32 ビット (x86) 端末で再起動を繰り返す場合の対応

一部抜粋
弊社の調査では、以下の 2 つのドライバーが事象発生に関連することを確認しています。
・Haspnt.sys (HASP Kernel Device Driver)
・hardlock.sys (Hard Lock Key Drivers)
ユーザー報告では、これらのドライバーは、以下のプログラムに含まれるとの情報があります。
・Sentinel System Driver Installer
・Sentinel Runtime
・Sentinel HASP License Manager

上記のドライバーは、USBドングル(ハードウェアキー/USBキー)のライセンス用関係が多いと思います。

パソコンのアップデート後にフリーズする現象が、私の開発環境(Windows 7)でも発生しており、毎月の更新たびにマンスリー品質ロールアップを削除及び更新の非表示にしていました。

私のパソコンにはUSBドングルを使用するソフトをインストールしておりこのUSBドングルがSentinelの物でした。(USBドングルにもHASPと記載があり)
USBドングルを挿した状態でデバイスマネージャーの「ユニバーサル シリアル バス コントローラー」を見ると次のような項目が出ていました。
・SafeNet Inc. USB Key
・SafeNet Inc. HASP Key
・Sentinel USB Key
・Sentinel HASP Key

今回、Microsoftからの対策報告があったということで、何とか解決しました。
解決方法は、Sentinel HASPのバージョンを最新(Version 7.80, Released 2018-04-12)に更新することでした。

1.https://sentinel.gemalto.jp/にアクセスし、サポートから「SENTINEL ドライバー」をクリックします。
1.png

2.次の検索条件を指定し「Search」ボタンをクリックして、検索結果から「Sentinel HASP LDK - Windows GUI Run-time Installer」をクリックします。
・User Category:End User
・Product:Sentinel HASP
・Operating System:Windows
・他の項目は全て:All
2.png

3.画面を一番下までスクロールし「I Accept」ボタンをクリックします。
3.png

4.「DOW0002510」をクリックし「Sentinel_LDK_Run-time_setup.zip」をダウンロードします。
4.png

5.ダウンロードしたファイルを展開し「HASPUserSetup.exe」を実行します。

6.チェックとかすべてデフォルトのままで次へ次へと進めていけばアップデート完了です。

7.Windows アップデートでマンスリー品質ロールアップを行っても無事に起動!
nice!(1)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。