- PR -

ISでVBScript(WScript)の記述方法について

1
投稿者投稿内容
ぐすん
会議室デビュー日: 2006/04/25
投稿数: 9
投稿日時: 2008-08-17 16:07
InstallShieldのMSIプロジェクトでインストーラを作成しております。

現在、VBScriptを使用してファイルの書き込みを行おうとしています。
ファイルの書き込みはWScriptで記述しております。
ISではコンパイル、ビルド後のインストーラで、インストールすると、
WScriptで記述した箇所でインストールが中断されてしまいます。
(VBScript単体で動作させた場合は正常に動作するのです。)

InstallShieldに組み込むVBScriptでWScriptを使用したい場合はどの
ように記述すればよいのでしょうか?

どなたかご存知の方がいましたら、ご教示お願いします。


環境
InstallShield2009、MSIプロジェクト、Windows Vista
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2008-08-17 16:41
引用:

InstallShieldに組み込むVBScriptでWScriptを使用したい場合はどの
ように記述すればよいのでしょうか?



WScript オブジェクトは WSH がスクリプトに対して公開するプライベートオブジェクトなので、IntallShield に限らず、WSH 以外の環境では使えません。

引用:

現在、VBScriptを使用してファイルの書き込みを行おうとしています。



なら、FSO を使うとか。

ぐすん
会議室デビュー日: 2006/04/25
投稿数: 9
投稿日時: 2008-08-17 17:52
渋木宏明(ひどり)さん
返信ありがとうございます。

引用:

なら、FSO を使うとか。



FSOを使用して下記のように記述したらうまくいきました。
ありがとうございました。

----
'InstallShieldでインストールフォルダに
'月日を記述したファイルの保存する。
Function WriteDate()

Dim dtmNow ' 月日保存用
Dim objFSO ' FileSystemObject
Dim objFile ' ファイル書き込み用
Dim strInstallDir, strFilePath ' ディレクト、パス保存用

'年月日を読み取る
dtmNow = Now
strNow = Year(dtmNow) & "." & Month(dtmNow) & "." & Day(dtmNow)

'インストールディレクトリの場所を取得する
strInstallDir = Session.Property("INSTALLDIR")
strFilePath = strInstallDir & "installdate.txt"

'ファイルに書き込む
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Err.Number = 0 Then
 Set objFile = objFSO.CreateTextFile(strFilePath, True)
 If Err.Number = 0 Then
  objFile.WriteLine(strNow)
  objFile.Close
 End If
End If
Set objFOS = Nothing
Set objFile = Nothing
End Function
1

スキルアップ/キャリアアップ(JOB@IT)