Posted by 빨강토끼
,

nsis 강좌

프로그래밍/기타 2007. 4. 16. 19:30
http://www.cipher.pe.kr/tt/cipher/
위 링크에 가보시면 nsis 에 대한 강좌가있습니다.
Posted by 빨강토끼
,
원래 정보의 주소는 http://blog.naver.com/jeemin5/130012555985 이지만
원지 보기가 부담스러워서^^ 펌하였습니다.


번호

명칭

설명

1

ALLUSERSPROFILE

모든 유저의
프로필 저장 폴더

C:\Documents and
Settings\All Users

2

APPDATA

현재 유저의
어플리케이션
데이터 폴더

C:\Documents and
Settings\[유저이름]
\Application Data

4

CommonProgramFiles

공용 프로그램
파일 폴더

C:\Program Files\
Common Files

5

COMPUTERNAME

PC에 지정된 이름

 

6

ComSpec

명령 프롬프트
실행파일

C:\WINDOWS\
system32\cmd.exe

8

HOMEDRIVE

기본 드라이브
문자

C:

9

HOMEPATH

기본 폴더

\Documents and Settings\
[유저이름]

12

LOGONSERVER

네트워크 이름

\\[컴퓨터명칭]

14

NUMBER_OF_PROCESSORS

CPU수

2

15

OS

운영체제 이름

Windows_NT

16

Path

자동 참조 폴더

C:\WINDOWS\
system32;

C:\WINDOWS;

17

PATHEXT

실행 가능한
파일의 확장자

.COM;.EXE;.BAT;.CMD;.VBS;
.VBE;.JS;.JSE;.WSF;.WSH

19

PROCESSOR_IDENTIFIER

CPU정보

x86 Family 15 Model 4
Stepping 1, GenuineIntel

22

ProgramFiles

프로그램 파일
저장폴더

C:\Program Files

24

SystemDrive

운영체제가 설치된
드라이브 문자

C:

25

SystemRoot

운영체제가
설치된 폴더

C:\WINDOWS

26

TEMP

임시 디렉토리 폴더

C:\DOCUME~1\[유저이름]\
LOCALS~1\Temp

27

TMP

28

USERDOMAIN

도메인 명

 

29

USERNAME

현재유저이름

 

30

USERPROFILE

현재유저의
프로필 폴더

C:\Documents and Settings\
[유저이름]

31

windir

윈도우즈가
설치된 폴더

C:\WINDOWS

 

Environ("windir")과 같은 형태로 사용함.

Posted by 빨강토끼
,
vs 2007 sp1을 설치하려면 시간이 오래걸린다.

http://blogs.msdn.com/heaths/archive/2006/10/06/VS-2005-SP1-Takes-a-While-to-Install.aspx

상기주소로 가면 자세한 설명이 있지만

간단히 설명하자면 도스창으로 서비스팩이 있는곳으로 가서

start /wait VS80sp1-KB926605-X86-KOR.exe /quiet /L*v+ VS80sp1-KB926605-X86-KOR.log 라고
입력하면 약 30분후에 설치가 완료됩니다.
그냥 백그라운드에서 깔리는것이므로 아무런변화는 없습니다.

Posted by 빨강토끼
,
제목에는 간단하다고 하지만 적어도 제가 아는 범위안에서 가장 귀찮고 번거로운 작업일듯합니다.
그렇다고 낚인건 아니구요.^^;
그냥 한서버에 IIS 와 ms-sql 를 설치하여 웹서비스를 할때
분명 DB를 연결해야한다.

일반적으로 OLE-DB 를 쓰지만 로컬이니깐 구지 연결스트링은 선언하지않고
(남들이 소스를 보면 아이피,아이디,패스워드가 노출되므로)
그냥 DSN으로 셑팅을 하면 구지 ms-sql에 sql용 아이디페스워드를 생성하지않고
로컬NT 계정으로 DB에 연결할수있다.

1. SQL Server Enterprise Manager(EM)를 여시고 서버를 확장해서 [보안]을 확장 합니다.
2. 로그인 부분에 마우스 오른쪽 버튼->새 로그인
3. 맨위 이름란 옆에 버튼을 눌러서 ISUR_XXXX 계정을 찾아서 선택하세요
4. 맨위 탭중에서 데이터베이스 액세스탭을 클릭하고
5. 데이터베이스 이름중에서 해당하는 데이터베이스명에 클릭하세요
6. 아래 역할중에 db_owner를 선택하시고 [확인] 누르시면 새로운 로그인이 만들어집니다.
7. 제어판에서 관리도구안에 데이터 원본 (ODBC)에서 DSN을 새롭게 생성한다.
8. 접근하려는 DB등을 선택하고 로컬NT계정으로 접근을 선택한다.

그리고
set db = server.CreateObject("ADODB.Connection")
conn = "DSN=XXXXXdns명"
db.open conn
이렇게 입력하면 됩니다.
Posted by 빨강토끼
,

개발PC에서 ActiveX를 개발하여 웹에 올리면 코드인증을 하였어도 정작 개발PC에서는
동작하지 않는 경우가 있습니다.
저도 어것때문에 길게는 6개월이상 고생했습니다.
이유는 이미 레지스트리에 등록이 되어있기 때문입니다.
인터넷을 통하여 정상적으로 ActiveX가 설치된것이 아니기 때문에
ActiveX패키징할때 설정하는 웹에서 안전부분이 아니오로 설정되어 있기
때문입니다.
그러므로 웹에서 보면 실행이 안되거나
"이 페이지의 Activex 컨트롤이 다른 부분과 상호작용하는 데 안전하지 않을 수 잇습니다.
상호 작용을 허용하시겠습니까"
라는 메시지가 뜹니다.
이문제를 해결하기 위해서 레지스트리를 강제로 변경하는 방법도 있기는 하지만...
MS기술문서를 참고하시면 해결이 가능합니다...
또 ActiveX를 수동설치하시려면 반드시 해주셔야지만 위와같은 메시지가 나타나지 않습니다...

http://support.microsoft.com/kb/q182598/

기술문서에는 OLE 자동화 형식 라이브러리 생성기가 Common\Tools\VB\Unsupprt\Typlib\ 폴더에
있다고나오지만 만일 가지고있는 CD가 VS일경우에는 CD3에 있습니다.
Posted by 빨강토끼
,
아래와같은 에러가 뜨면 미칩니다.
인터넷을 돌아다녀봐도 별다는 해결책이나 왜그러는지 잘나와있지 않습니다.
물론 외국사이트에보면 해당되는 글들이 있곤 합니다.
하지만 별다는 설명이나 해결방법을 쉽게 찾을수 없더군요.

'/xxx' 응용 프로그램에 서버 오류가 있습니다.

--------------------------------------------------------------------------------



지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E)

설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류

및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오.



예외 정보: System.IO.FileNotFoundException: 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT:

0x8007007E)



소스 오류:



현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예

외의 원인 및 위치 정보를 확인할 수 있습니다. 



스택 추적:





[FileNotFoundException: 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E)]

  System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity,

Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)

+0

  System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity,

StackCrawlMark& stackMark, Boolean forIntrospection) +211

  System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity,

StackCrawlMark& stackMark, Boolean forIntrospection) +141

  System.Reflection.Assembly.Load(String assemblyString) +25

  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean

starDirective) +32



[ConfigurationErrorsException: 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E)]

  System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean

starDirective) +596

  System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +3479081

  System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +46

  System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +177

  System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir) +267

  System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean

ignoreErrors) +36

  System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir,

Boolean ignoreErrors) +429

  System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +73

  System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild,

Boolean allowCrossApp, Boolean allowBuildInPrecompile) +580

  System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath

virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile) +93

  System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext

context, Boolean allowCrossApp, Boolean noAssert) +111

  System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type

requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert) +54

  System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath

virtualPath, String physicalPath) +31

  System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext context, String

requestType, VirtualPath virtualPath, String physicalPath) +40

  System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String

pathTranslated, Boolean useAppConfig) +139

  System.Web.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +120

  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155









--------------------------------------------------------------------------------

버전 정보: Microsoft .NET Framework 버전:2.0.50727.42; ASP.NET 버전:2.0.50727.42


가장 큰 문제는 이러한 오류가 너무 일반적이고 포괄적이라서
마땅히 어디다고 딱찝어낼수가 없다는 것입니다.

하지만 ASP.NET 을 사용하고
사이트전체적으로 이러한 문제점이 나온다면
가장먼저 생각해볼것이
bin에 들어있는 dll 화일들입니다.
dll 화일이 1.x 버젼에서 만들어진 dll 이라던지
문제가 있는 dll 일경우 이런 현상이 나타납니다.
일단 dll 이나 lib 화일들을 하나씩 지우거나 잠시 bin폴더에서 이동해보세요.
그러다가 사이트의 페이지가 정상적으로 나오게 된다면
그 dll 이나 lib 화일이 문제였던것입니다.

그럼 그 dll 을 사용하고 싶다면 어떻게 해야하느냐...
역어셈블링 프로그램을 통하여 1.x 버젼 dll 을 2.0 용으로 바꿔줘야됩니다.
Posted by 빨강토끼
,
ASP.NET 으로 개발중에 기존의 유용한(?) DLL들을 사용하고 싶을때가 있을겁니다.
메뉴중에 웹사이트->참조 추가->COM 에 보면 개발PC에 있는 COM들이 보입니다.
거기서 선택을 하거나 찾아보기를 통하여 DLL을 찾은후 확인을 누르시면
현재작업하고 있는 사이트의 bin에 화일이 생길겁니다.

참조하는 방법은 여러가지가 있다고 하는데
일단 그중에 하나...
bin 화일에 보면 interop.XXX.dll 식으로 화일이 있는데
앞의 interop부분은 필요없고
xxx 부분만 쓰시면 됩니다.

aspx.cs 에서
using xxx;

라구요.

아님.
aspx 에서
<%@ Import Namespace="xxx"%>
라고 쓰시구요.

다음은 사용법입니다.

aspx 나 aspx.cs 에서
xxx 만 치시면....알아서 쭈욱....그담부턴 눈치것.....
머 제 설명이 그렇지요 머...

그럼...꾸벅.

Posted by 빨강토끼
,
Posted by 빨강토끼
,

 CString -> char *

{

CString str;

str = "Hello";

//char* ss = LPSTR(LPCTSTR(str)); 이방법은 안좋다고 하네요. http://cafe.naver.com/woosongbitcafe.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=123

 

ss = str.GetBuffer(0);

str.ReleaseBuffer();

}

 

 

char * -> CString

 {

char ss[] = "Hello";

CString str;

str.Format("%s", ss);

}


BSTR -> CString

{

CString cstr;

char* pstr;

USE_CONVERSION;

pstr = OLE2A(bstr);

cstr = CString(pstr);

}


CString -> BSTR

{

BSTR bstr;

cstr = "adfg";

bstr = cstr.AllocSysString();

}


BSTR -> char*

{

BSTR bstr;

char* pstr;

pstr = OLE2A(bstr);

}

char* -> BSTR

{

TCHAR szTitle[512];

_bstr_t bstrText = szTitle;

*bstr = bstrText.copy();

}

Posted by 빨강토끼
,