2
installshield 2010에서 installscript를 통해 app.config 파일을 수정하는 방법 사용자가 선택한 서버를 기반으로 app.config 파일에서 sql 연결 문자열을 수정하고 싶습니다. 조기 도움을 받아야합니다.installscript를 통해 app.config 수정하기
installshield 2010에서 installscript를 통해 app.config 파일을 수정하는 방법 사용자가 선택한 서버를 기반으로 app.config 파일에서 sql 연결 문자열을 수정하고 싶습니다. 조기 도움을 받아야합니다.installscript를 통해 app.config 수정하기
나는 연결 문자열을 변경하기 위해 자신의 installscript를 작성했습니다.
코드 스 니펫 :
function Update_AppConfig(hMSI)
STRING EXAMPLE_FILE, EXAMPLE_DIR;
STRING svLine;
STRING svContent;
number nvBuff,temp,nvFileHandle ;
string szConnection,szServer,szFileName,szUser,szFilePath;
long cchValueBuf;
long length;
begin
EXAMPLE_FILE = "Example.exe.config";
EXAMPLE_DIR = INSTALLDIR;
cchValueBuf = 2;
MsiGetProperty(hMSI,"IS_SQLSERVER_SERVER",szServer,cchValueBuf);
OpenFileMode (FILE_MODE_NORMAL);
if (OpenFile (nvFileHandle, EXAMPLE_DIR, EXAMPLE_FILE) < 0) then
MessageBox ("OpenFile failed.", SEVERE);
abort;
endif;
while GetLine (nvFileHandle, svLine) = 0
svContent = svContent + svLine + "\r\n";
endwhile;
if (CloseFile (nvFileHandle) < 0) then
MessageBox ("CloseFile failed.", SEVERE);
endif;
StrReplace (svContent, "{{SQLSERVERSETTING}}", szServer, 0);
// Close the file.
OpenFileMode (FILE_MODE_BINARY);
if (OpenFile (nvFileHandle, EXAMPLE_DIR, EXAMPLE_FILE) < 0) then
MessageBox ("OpenFile failed.", SEVERE);
abort;
endif;
length = StrLength (svContent);
if (WriteBytes (nvFileHandle, svContent, 0, length) < 0) then
MessageBox ("WriteBytes failed.", SEVERE);
endif;
if (CloseFile (nvFileHandle) < 0) then
MessageBox ("CloseFile failed.", SEVERE);
endif;
end;