I voted. I hope Mike Munger, the libertarian candidate for governor in NC, gets his 2%, so he can automatically be on the ballot next time. I think that's the condition....
In my last post , I forgot to point you to Inno Setup ; go get the Inno Setup QuickStart Pack to get going. I showed how to copy a directory full of data, like tutorials or sample data, that might change depending on the customer. That means the files are not known when the installer is compiled. Here's what it looked like: Source: {src}\data\*; DestDir: C:\MyCompany\data; Flags: external recursesubdirs skipifsourcedoesntexist onlyifdoesntexist uninsneveruninstall; Permissions: users-modify This time, I 'm going to show how to let the user choose where this directory is located, and whether to install the contents of the directory at all. First, let's show an obvious choice: Source: {src}\data\*; DestDir: {userdocs} \MyCompany\data; Flags: [as above.... ] That new constant will put the data in a subdirectory of My Documents, for the user that installs the program. This might be fine for you, if each user of your program is going to install it themselves
A very useful tool in Emacs is the keyboard macro. Every so often I need to perform a repetitive task that is slightly different each time. This time, I was changing casts again, in C++. I had a series of casts, that looked like this: (MeasureLine *)(annot->newCopy()); and I needed to replace them with this: dynamic_cast<MeasureLine *>(annot->newCopy()); So I defined a keyboard macro, where I first selected 'MeasureLine *', and the macro would cut that text, type in 'dynamic_cast<', paste, then type '>' The keyboard macro is started by the keystroke 'Ctrl-x (', and ended with 'Ctrl-x )'. It is run by 'Ctrl-x e' When I found another spot in my code that looked like this: (ConstraintPlane*)(annot->newCopy()); I could drag over 'ConstraintPlane*' with my mouse, and hit 'Ctrl-x e', and it turned into: dynamic_cast<'ConstraintPlane*>(annot->newCopy()); Done. Another trick is that 'Ctrl-u
If your C++ program is compiled with MS Visual Studio 2005 Express, and you link with the DLL versions of the C run-time libraries, you probably already know that you have to run vcredist_x86.exe to install those dependencies on a new computer before your program will run. Here's how to do that in an Inno Setup script. First, download vcredist_x86.exe from MSDN, Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) Notice that's for SP1, the instructions are different for non-SP1, and for the vcredist_x86.exe that comes with Visual Studio Standard or Professional. See the credit link below. Include this in your script: [Files] Source: {src}\bin\vcredist_x86.exe; DestDir: {app}\bin\; [Run] Filename: {app}\bin\vcredist_x86.exe; Parameters: "/q:a /c:""VCREDI~3.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; WorkingDir: {app}\bin; StatusMsg: Installing CRT... Alternative for x64 ( I hav
Comments