2012-07-06 5 views
0

Documents and Settings 폴더를 C 드라이브에서 D 드라이브로 완전히 옮겼을 때 제품 추가 기능 설치가 작동하지 않고 popup windowsFolderSplit (0)으로 끝납니다 : C 및 오류 폴더가 존재하지 않습니다 ? 단일 파티션을 가진 시스템의 경우이 작업은 정상적으로 작동하지만 여러 파티션에서만 작동하지 않습니다.폴더 구조 이동을위한 설치 스크립트 문제

여기에 설치 스크립트에 사용 된 vbscript 코드 비트가 있습니다. 여기에서 수정해야합니까 ??

Dim windowsFolder  ' For finding shortcut location 
Dim windowsFolderSplit ' For isolating the WINDOWS drive 

windowsFolder = fso.GetSpecialFolder(WindowsFolder) 
If DEBUG = "D1" Then   
    MsgBox "windowsFolder:" & windowsFolder 
End If 

windowsFolderSplit = Split(windowsFolder, "\", -1, 1) 

If DEBUG = "D1" Then   
    MsgBox "windowsFolderSplit(0):" & windowsFolderSplit(0) 
    MsgBox "windowsFolderSplit(1):" & windowsFolderSplit(1) 
End If 

Set docAndSetFolder = fso.GetFolder(windowsFolderSplit(0) & "\Documents and Settings") 

'C'드라이브에 값을 하드 코딩합니까?

+0

정확히 "제품 부가 기능"으로 무엇을 의미합니까? – reporter

+0

@reporter는 제품 패치입니다. 제품은 정상적으로 작동하지만 패치 설치를 시작했을 때이 제품이 나옵니다. 그 vbscript는 패치 설치의 일부입니다. 'C'드라이브에 값을 하드 코딩합니까? – vettori

+1

예, "spacial windows 폴더"는 종종 하드 디스크의 특정 경로를 가리키는 링크입니다. – reporter

답변

1

SpecialFolders (MSDN) :

Dim objShell As Object 
Dim strPath As String 

Set objShell = Wscript.CreateObject("Wscript.Shell") 
strPath = objShell.SpecialFolders("MyDocuments") 
wscript.echo strPath 

또는 선택적 :

Set S = CreateObject("WScript.Shell") 
Set E = S.Environment 
WScript.Echo E("USERPROFILE") 
+0

이 코드는 C에없는 D 폴더에만 Documents and Settings 폴더를 가져 오나요? – vettori

+0

첫 번째 코드는 MSDN 문서에 나열된 특수 폴더를 어디서나 가져올 수 있습니다. 두 번째 코드는 환경 변수를 얻습니다. - 어떤 변수가 반환되는지 보려면 명령 행에'SET'을 입력하십시오. – SeanC